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.