# tentatives de tâches et résolution
Objectif : exécuter des tâches asynchrones de manière explicite et gérer les états de défaillance de manière déterministe.
Flux d’interface utilisateur
- L’interface utilisateur affiche l’état de la file d’attente et des tâches par compte.
- L’utilisateur ouvre les détails du travail en cas d’échec ou de blocage.
- L’interface utilisateur autorise
Trigger,RetryetResolve. - L’interface utilisateur met en évidence
last_error_codeetlast_error_detail. - L’interface utilisateur actualise l’état de la tâche après une action professionnelle.
Flux de bibliothèque client
const jobs = await api.jobs.list(accountId, { limit: 50 });
const failed = jobs.data.filter((row) => row.failed_at);
for (const job of failed) {
await api.jobs.retry(job.id);
}
const inFlight = await api.jobs.list(accountId, {
q: "imap_sync_messages",
limit: 20,
});
Flux HTTP/curl
API_BASE_URL="https://api.inbox-manager.com"
curl -sS "${API_BASE_URL}/api/accounts/${ACCOUNT_ID}/jobs?limit=20&offset=0" \
-H "authorization: Bearer ${BEARER_TOKEN}"
curl -sS -X POST "${API_BASE_URL}/api/jobs/${JOB_ID}/trigger" \
-H "authorization: Bearer ${BEARER_TOKEN}" \
-H "content-type: application/json" \
--data '{}'
curl -sS -X POST "${API_BASE_URL}/api/jobs/${JOB_ID}/retry" \
-H "authorization: Bearer ${BEARER_TOKEN}" \
-H "content-type: application/json" \
--data '{}'
curl -sS -X POST "${API_BASE_URL}/api/jobs/${JOB_ID}/resolve" \
-H "authorization: Bearer ${BEARER_TOKEN}" \
-H "content-type: application/json" \
--data '{"note":"handled after provider maintenance window"}'
Direction de la taxonomie des erreurs
- Le travailleur enregistre désormais les valeurs
last_error_codecatégorisées pour :- connectivité transitoire
- authentification
- autorisation -configuration
- validation de la charge utile
- pas trouvé