Files
Comment les jobs et workers externes produisent, reclament, terminent et echouent des unites de travail.
Sur cette page
Les files permettent aux jobs et workers de coordonner des unites de travail dans un projet. Elles sont utiles quand une automatisation navigateur doit produire ou consommer des taches, pas seulement reussir ou echouer un test unique.
Forme d'une file
Un element de file a une reference, un statut, une priorite, des tags optionnels et un data JSON arbitraire. Les statuts courants sont new, in progress, completed, failed, abandoned ou retryable selon l'endpoint utilise.
Les elements sont volontairement generiques. Vous decidez si data represente une facture, un compte de test, une URL a crawler, une ligne d'import ou un autre objet metier.
Job producteur
Un script Playwright peut produire des elements en appelant l'API de file. Le producteur happy-path lent est un bon modele : resoudre l'URL backend, lire les variables projet de file, puis poster des elements avec un data structure.
const PROJECT_ID = requiredEnv('HAPPY_PATH_QUEUE_PROJECT_ID');
const QUEUE_ID = requiredEnv('HAPPY_PATH_QUEUE_ID');
const API_KEY = requiredEnv('HAPPY_PATH_QUEUE_API_KEY');
await api(backendUrl, API_KEY, 'POST', `/api/queues/${QUEUE_ID}/items`, {
reference: `slow-demo-${Date.now()}`,
priority: 10,
tags: ['slow-demo'],
data: { kind: 'slow-demo-item' },
});Job ou worker consommateur
Les consommateurs reclament du travail avec l'endpoint next-item, traitent l'element retourne, puis le terminent ou l'echouent.
const claimed = await api<QueueItem[] | undefined>(
backendUrl,
API_KEY,
'POST',
`/api/queues/${QUEUE_ID}/next`,
{ worker_id: 'slow-queue-consumer' },
true
);Si aucun element n'est disponible, les consommateurs doivent sortir proprement plutot que faire echouer toute l'execution.
Scopes de cle API
Les workers de file ont souvent besoin de :
queues:readpour inspecter l'etat de la file.queues:writepour creer des elements.queues:executepour reclamer, terminer, echouer, abandonner ou retenter du travail.variables:usesi le script lit des variables projet.
Conseils operationnels
Utilisez des references stables quand la detection de doublons compte. Utilisez la priorite pour controler l'ordre. Placez le payload metier dans data, pas dans les tags. Gardez les tags courts et utiles au filtrage ou au debug.
Pour les demos longues de file, definissez des timeouts Playwright explicites et loggez chaque reference d'element produit ou consomme.