Spletne kljuke
Queuety lahko ob določenih dogodkih pošlje zunanjim URL-jem obvestila HTTP POST. S spletnimi kljukami se povežite s sistemi za nadzor, Slack ali nadzornimi ploščami po meri.
Podprti dogodki
| Dogodek | Sproži se, ko |
|---|---|
job.completed |
Se opravilo običajnega obravnavalnika ali razred Contracts\Job uspešno zaključi (ne sproži se za korake poteka dela ali dejanja stroja stanj) |
job.failed |
Poskus sproži izjemo in je načrtovan ponovni poskus |
job.buried |
Opravilo porabi vse poskuse ponavljanja |
workflow.failed |
Korak poteka dela trajno odpove |
Registracija spletnih kljuk
Prek PHP:
PHP
$id = Queuety::webhook_notifier()->register( 'job.buried', 'https://hooks.slack.com/services/...' );
Prek CLI:
Lupina
wp queuety webhook add job.buried https://hooks.slack.com/services/...
wp queuety webhook add workflow.failed https://monitoring.example.com/queuety
Prikaz spletnih kljuk
PHP
$webhooks = Queuety::webhook_notifier()->list();
Lupina
wp queuety webhook list
Odstranjevanje spletnih kljuk
PHP
Queuety::webhook_notifier()->remove( $webhook_id );
Lupina
wp queuety webhook remove 3
Oblika tovora
Ob sprožitvi dogodka Queuety pošlje zahtevo POST HTTP s telesom JSON. Tovor ima vedno to obliko:
JSON
{
"event": "job.buried",
"data": {
"job_id": 42,
"handler": "send_email",
"queue": "emails",
"error_message": "Connection timed out"
},
"timestamp": "2025-03-15T14:30:00Z"
}
Pri napakah poteka dela:
JSON
{
"event": "workflow.failed",
"data": {
"workflow_id": 7,
"job_id": 42,
"handler": "CallLlmStep",
"error_message": "API rate limit exceeded"
},
"timestamp": "2025-03-15T14:30:00Z"
}
Dostava spletnih kljuk je odvisna od najboljšega napora. Delavec po vrsti pošlje zahtevo POST vsakemu registriranemu URL z enosekundno časovno omejitvijo pretakanja in prezre napake pri dostavi, zato lahko počasna končna točka delavcu vzame do približno sekunde na URL, vendar nikoli ne povzroči neuspeha opravila.
Primeri uporabe
- Slack opozorila. Prejmite obvestilo, ko so opravila skrita ali delovni tokovi ne uspejo.
- PagerDuty integracija. Sprožite incidente ob kritičnih napakah opravil.
- Nadzorne plošče po meri. Pretakajte dogodke v svojo infrastrukturo za spremljanje.
- Revizijska sled. Posredujte dogodke zunanji storitvi za beleženje.