Web Kancaları
Belirli olaylar gerçekleştiğinde Queuety harici URL'lere HTTP POST bildirimleri gönderebilir. İzleme sistemleri, Slack veya özel panolarla bütünleştirmek için web kancalarını kullanın.
Desteklenen olaylar
| Olay | Ne zaman tetiklenir |
|---|---|
job.completed |
Düz bir işleyici işi veya Contracts\Job sınıfı başarıyla tamamlandığında (iş akışı adımları veya durum makinesi eylemleri için tetiklenmez) |
job.failed |
Bir deneme hata verdiğinde ve yeniden deneme zamanlandığında |
job.buried |
Bir iş tüm yeniden deneme denemelerini tükettiğinde |
workflow.failed |
Bir iş akışı adımı kalıcı olarak başarısız olduğunda |
Web kancalarını kaydetme
PHP üzerinden:
PHP
$id = Queuety::webhook_notifier()->register( 'job.buried', 'https://hooks.slack.com/services/...' );
CLI üzerinden:
Kabuk
wp queuety webhook add job.buried https://hooks.slack.com/services/...
wp queuety webhook add workflow.failed https://monitoring.example.com/queuety
Web kancalarını listeleme
PHP
$webhooks = Queuety::webhook_notifier()->list();
Kabuk
wp queuety webhook list
Web kancalarını kaldırma
PHP
Queuety::webhook_notifier()->remove( $webhook_id );
Kabuk
wp queuety webhook remove 3
Yük biçimi
Bir olay tetiklendiğinde Queuety, HTTP POST isteğini JSON gövdesiyle gönderir. Yükün biçimi her zaman şöyledir:
JSON
{
"event": "job.buried",
"data": {
"job_id": 42,
"handler": "send_email",
"queue": "emails",
"error_message": "Connection timed out"
},
"timestamp": "2025-03-15T14:30:00Z"
}
İş akışı hatalarında:
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"
}
Web kancası teslimatı en iyi çabayla yapılır. Çalışan, kayıtlı her URL adresine sırayla bir saniyelik akış zaman aşımıyla POST isteği gönderir ve teslimat hatalarını yok sayar. Bu nedenle yavaş bir uç nokta, çalışan başına URL başına yaklaşık bir saniyeye kadar maliyet oluşturabilir ancak işin başarısız olmasına yol açmaz.
Kullanım alanları
- Slack uyarıları. İşler kuyruğun en arkasına atıldığında veya iş akışları başarısız olduğunda bildirim alın.
- PagerDuty entegrasyonu. Kritik iş hataları için olayları tetikleyin.
- Özel panolar. Olayları kendi izleme altyapınıza aktarın.
- Denetim izi. Olayları harici bir günlük hizmetine iletin.