For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /fr/docs/web/setup-jobs.md (or send Accept: text/markdown).
Configurer les jobs en arrière-plan
Des tâches durables via Trigger.dev — plus le tick du planificateur local.
Configuration et paramètres
Avant toute étape, lisez Avant de commencer et Principes de base du terminal. Ces instructions supposent que vous avez ouvert le monorepo supastack complet dans VS Code ; sa racine package.json marque la racine du référentiel. Dans les commandes pnpm, un package d'espace de travail est une application ou un dossier de code partagé ; dans le produit, un espace de travail est le conteneur de données et la limite de sécurité d'une équipe. corepack pnpm --filter ... sélectionne un package dans le monorepo tandis que les commandes sont exécutées à partir de sa racine. Si vous avez ouvert uniquement un dossier mobile ou de bureau synchronisé, il ne contient pas le backend Web, la configuration Docker ou les scripts racine : exécutez le backend à partir de ce monorepo ou d'un serveur hébergé accessible et utilisez les propres scripts du dossier de plateforme. Une variable d'environnement est un paramètre nommé stocké dans un fichier .env local ou dans votre tableau de bord d'hébergement ; redémarrez l'application concernée après l'avoir modifiée et conservez les secrets du serveur en dehors des valeurs NEXT_PUBLIC_ et EXPO_PUBLIC_.
1. Ouvrez apps/web/src/job-handlers.ts et apps/web/src/scheduler-runtime.ts dans VS Code. Un travail est un travail de fond ; le planificateur décide quand le mettre en file d'attente.
2. Pour une coche locale, définissez le même SCHEDULER_TICK_SECRET dans apps/web/.env.local et la racine du référentiel .env ; le script tick lit le .env racine, tandis que le point de terminaison Web lit les paramètres de son application.
3. Démarrez Web avec corepack pnpm --filter @supastack/web dev, puis exécutez corepack pnpm jobs:tick à partir de la racine. Attendu : le terminal affiche un résultat POST de localhost:3000. Trigger.dev est un fournisseur distinct et a besoin de ses propres clés de compte et de serveur.
Définissez JOB_PROVIDER=trigger avec TRIGGER_SECRET_KEY et TRIGGER_PROJECT_REF réservés au serveur pour soumettre des tâches en production. Examinez apps/web/trigger.config.ts et la tâche ai.generate dans apps/web/trigger avant de configurer le projet cible.
JOB_PROVIDER=trigger
TRIGGER_PROJECT_REF=your-project-reference
# Provide TRIGGER_SECRET_KEY through the server secret store.
# Local/self-hosted scheduler tick:
# SCHEDULER_TICK_SECRET=…
# SCHEDULER_TICK_URL=http://localhost:3000Commandes à copier
Suivez les commentaires pour voir dans quel dossier une commande s'exécute. Si deux terminaux sont étiquetés, ouvrez deux fenêtres de terminal et laissez la première commande s'exécuter pendant que vous utilisez la seconde.
# Terminal 1 — start the Web app from the monorepo root:
corepack pnpm --filter @supastack/web dev
# Terminal 2 — run one scheduler tick from the monorepo root:
corepack pnpm jobs:tickProcessus d’implémentation
Le contrat partagé JobRunner garantit la mise en file, l’état et l’annulation. Trigger.dev définit les garanties propres à son workflow ; ne déduisez pas de garanties de planification, de nouvelles tentatives ou de durabilité de l’interface générique.
L’identifiant durable d’une tâche de l’application relie la distribution, l’exécution du worker, les enregistrements d’utilisation et les résultats. Si l’ajout des métadonnées d’exécution échoue après une mise en file confirmée, cela ne doit ni relancer la mise en file ni invalider le travail accepté.
Vérification et dépannage
Si la coche renvoie 404, confirmez que le secret existe dans les deux fichiers de paramètres et correspond exactement, puis redémarrez Web. Si le terminal indique une connexion refusée, démarrez d'abord Web. Si aucune tâche n'a été exécutée, vérifiez qu'une planification est activée et due ; une seule coche ne permet pas d'exécuter immédiatement un planning futur.
Vérifiez que l’identifiant de la tâche déployée et le projet correspondent à l’environnement configuré. Distinguez l’acceptation de la mise en file de la fin du workflow et de l’envoi de l’e-mail. Consultez docs/production-ai-runtime.md pour la reprise et le diagnostic sûr avant de relancer manuellement un travail.
Pour poursuivre la configuration, consultez Configurer le stockage de fichiers.