lobehub/upstash-workflow

Guide LobeHub Upstash Workflow et QStash. Utilisez pour des workflows asynchrones, traiter/paginer/exécuter en éventail, gérer les handlers, context.run/call/sleep, ou déclencheurs de workflows.

Qu'est-ce que upstash-workflow ?

Ce guide couvre l'utilisation de Upstash Workflow et QStash pour la gestion de workflows asynchrones dans des environnements AI agents. Il vous permet de créer des workflows complexes : traitement par lots, pagination, exécution en éventail (fan-out), gestion de handlers, utilisation des méthodes `context.run`, `context.call`, `context.sleep`, et configuration des déclencheurs de workflows. Ce skill est particulièrement utile pour orchestrer des tâches longues ou distribuées, en s'appuyant sur QStash pour la fiabilité des messages. Il fonctionne avec les plateformes comme Claude Code, Cursor ou Codex, et se base sur des opérations simples comme l'envoi de requêtes HTTP ou la gestion de files d'attente.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/lobehub/lobehub/tree/main/skills/upstash-workflow

Installed? Explore more Productivité et collaboration skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait upstash-workflow ?

Guide LobeHub Upstash Workflow et QStash. Utilisez pour des workflows asynchrones, traiter/paginer/exécuter en éventail, gérer les handlers, context.run/context.call/context.sleep, ou déclencheurs de workflows.

Introduction

Ce skill vous permet d'intégrer Upstash Workflow et QStash dans vos projets AI agents. Il facilite la création de workflows asynchrones robustes, avec des capacités de traitement par lots, de pagination, d'exécution en éventail (fan-out), et de gestion de handlers personnalisés.

Utilisation de base

  • context.run(fn): Exécute une fonction dans le contexte du workflow.
  • context.call(url, payload): Appelle une URL distante avec un payload (via QStash).
  • context.sleep(duration): Met en pause le workflow pour une durée donnée.

Exemple de workflow

import { serve } from '@upstash/workflow'

const workflow = serve(async (context) => {
  // Traitement initial
  await context.run(async () => {
    console.log('Étape 1')
  })

  // Appel distant
  await context.call('https://api.example.com/process', { data: 'exemple' })

  // Pause
  await context.sleep('1m')

  // Exécution en éventail
  const results = await Promise.all([
    context.call('https://api.example.com/task1', { id: 1 }),
    context.call('https://api.example.com/task2', { id: 2 }),
  ])

  return results
})

Déclencheurs de workflow

Les workflows peuvent être déclenchés via les mécanismes suivants :

  • HTTP : Appel direct via une URL.
  • QStash : Planification et mise en file d'attente asynchrone.
  • Cron : Déclenchement périodique.

Ressources

Individual skills in this repo

This repo contains 19 individual skills — each has its own dedicated page.

lobehub/add-provider-doc

Add documentation for a new AI provider — usage docs, env vars, Docker config, image resources.

lobehub/add-setting-env

Add server-side environment variables that control default values for user settings.

lobehub/debug

Debug package usage guide. Use when adding debug logging, understanding log namespaces, or implementing debugging features. Triggers on debug logging requests or logging implementation.

lobehub/desktop

Electron desktop development guide — IPC handlers, controllers, preload scripts, window/menu management.

lobehub/drizzle

LobeHub Drizzle ORM schema and query style. Use for pgTable schemas, indexes, joins, inferred types, db.select/db.query, schema fields, foreign keys, junction tables, or postgres query patterns.

lobehub/hotkey

Add or edit LobeHub keyboard shortcuts. Use for HotkeyEnum, HOTKEYS_REGISTRATION, combineKeys, useHotkeyById, tooltip hotkeys, shortcut scope, conflicts, or Cmd/Ctrl key combos.

lobehub/i18n

LobeHub i18n with react-i18next. Use for user-facing strings, locale keys, namespaces, useTranslation, t(), interpolation, zh-CN/en-US previews, hardcoded UI copy, or pnpm i18n.

lobehub/linear

Linear issue management. Use for LOBE-xxx issues, Linear links, PRs referencing Linear, retrieving issues, updating status, completion comments, or sub-issue trees.

lobehub/lobehub

Use for public LobeHub website documentation under docs/**, including self-hosting, deployment, migration, and configuration guides. Excludes product changelogs and source-code API docs.

lobehub/microcopy

UI copy and microcopy guidelines. Use for user-facing copy, buttons, errors, empty states, onboarding, i18n wording, translation, or copy improvements in Chinese or English.

lobehub/modal

LobeHub imperative modal conventions. Use when creating or migrating modals, dialogs, popups, confirm flows, ModalHost wiring, createModal, confirmModal, useModalContext, or base-ui modal APIs.

lobehub/pr

Create a PR for the current branch (targets `canary` by default), including splitting one cross-layer branch into ordered stacked PRs so a lower layer (db / shared package / server TRPC) merges before its callers (desktop / CLI / UI). Use when the user asks to create / submit a PR, or to split a branch because clients call a server contract that isn't on the trunk yet. Triggers on 'pr', 'create pr', 'submit pr', 'open a PR', 'pull request', 'split this PR', 'stacked PR', 'backend should merge first', '提 PR', '提个 PR', '新建 PR', '拆 PR', '后端先合', '分层合并'.

lobehub/project-overview

LobeHub open-source monorepo architecture map. Use when locating code layers, understanding apps/packages/src layout, business stubs, project structure, or onboarding to the repository.

lobehub/react

LobeHub React component conventions. Use when editing TSX UI, choosing base-ui vs @lobehub/ui vs antd, styling with antd-style, routing, desktop variants, layouts, or component state.

lobehub/store-data-structures

LobeHub Zustand store data-shape patterns. Use when designing store state, list/detail splits, normalized maps, reducers, messagesMap, topicsMap, or choosing shared type sources.

lobehub/testing

Vitest testing guide. Use when writing or updating tests, fixing failing tests, improving coverage, debugging test issues, or setting up mocks.

lobehub/typescript

LobeHub TypeScript style and type-safety guide. Use when editing TS/TSX/MTS, fixing types, choosing interface vs type, avoiding any/object, import type, async flow, or ts-expect-error.

lobehub/version-release

Version release workflow — release process and GitHub Release notes (not docs/changelog pages).

lobehub/zustand

LobeHub Zustand store conventions. Use when editing src/store, store slices, public/internal actions, dispatch actions, flattenActions, optimistic updates, selectors, maps, or class action migration.

Skills associés