İçeriğe geç

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.