Que fait trigger-tasks ?
Créez des agents IA, des workflows et des tâches d'arrière-plan durables avec Trigger.dev. À utiliser pour créer des tâches, déclencher des jobs, gérer les tentatives, planifier des tâches cron ou implémenter des files d'attente et le contrôle de concurrence.
Vue d'ensemble
Trigger.dev vous permet de définir et d'exécuter des tâches durables, des workflows et des agents IA. Ce skill vous guide dans l'utilisation de ces fonctionnalités.
Fonctionnalités principales
- Création de tâches : Définissez des tâches avec des entrées, des sorties et une logique métier.
- Déclenchement de jobs : Lancez des jobs en réponse à des événements, des appels API ou des horaires.
- Gestion des tentatives : Configurez des politiques de reprise avec des délais exponentiels et un nombre maximum de tentatives.
- Planification cron : Planifiez des tâches récurrentes avec des expressions cron.
- Files d'attente et concurrence : Gérez la concurrence avec des files d'attente nommées et un nombre maximum d'exécutions simultanées.
Utilisation de base
import { trigger } from '@trigger.dev/sdk';
// Créer une tâche
const maTache = trigger.defineTask({
id: 'ma-tache',
run: async (payload, { ctx }) => {
console.log('Tâche exécutée avec payload :', payload);
return { resultat: 'succès' };
},
retry: {
maxAttempts: 3,
factor: 2,
minTimeoutInMs: 1000,
maxTimeoutInMs: 60000,
},
});
// Déclencher la tâche
await maTache.trigger({ donnee: 'valeur' });
Planification cron
trigger.cron('*/5 * * * *', async () => {
console.log('Tâche exécutée toutes les 5 minutes');
});
Files d'attente et concurrence
trigger.defineTask({
id: 'tache-avec-file',
queue: {
name: 'ma-file',
concurrencyLimit: 5,
},
run: async (payload) => {
// Logique métier
},
});
Référence de l'API
Pour une documentation complète, consultez la documentation officielle de Trigger.dev.
Dépannage
- Assurez-vous que l'API key Trigger.dev est définie dans l'environnement.
- Vérifiez les logs pour les tâches échouées et les tentatives.
- Utilisez des identifiants de file d'attente uniques pour éviter les conflits de concurrence.