Pāriet uz saturu

Tīmekļa āķi

Queuety var sūtīt HTTP POST paziņojumus uz ārējiem URL, kad notiek noteikti notikumi. Izmantojiet tīmekļa āķus, lai integrētu uzraudzības sistēmas, Slack vai pielāgotus informācijas paneļus.

Atbalstītie notikumi

Notikums Kad tas notiek
job.completed Vienkārša apdarinātāja uzdevums vai Contracts\Job klase tiek veiksmīgi pabeigta (netiek aktivizēts darbplūsmas darbībām vai stāvokļu mašīnu darbībām)
job.failed Mēģinājums izraisa izņēmumu un tiek ieplānots atkārtots mēģinājums
job.buried Uzdevums izsmēlis visus atkārtoto mēģinājumu skaitu
workflow.failed Darbplūsmas darbība neatgriezeniski neizdodas

Tīmekļa āķu reģistrēšana

Izmantojot PHP:

PHP
$id = Queuety::webhook_notifier()->register( 'job.buried', 'https://hooks.slack.com/services/...' );

Izmantojot CLI:

Apvalks
wp queuety webhook add job.buried https://hooks.slack.com/services/...
wp queuety webhook add workflow.failed https://monitoring.example.com/queuety

Tīmekļa āķu uzskaitīšana

PHP
$webhooks = Queuety::webhook_notifier()->list();
Apvalks
wp queuety webhook list

Tīmekļa āķu noņemšana

PHP
Queuety::webhook_notifier()->remove( $webhook_id );
Apvalks
wp queuety webhook remove 3

Datu formāts

Kad notiek notikums, Queuety nosūta HTTP POST pieprasījumu ar JSON pamatdaļu. Datu struktūra vienmēr ir šāda:

JSON
{
    "event": "job.buried",
    "data": {
        "job_id": 42,
        "handler": "send_email",
        "queue": "emails",
        "error_message": "Connection timed out"
    },
    "timestamp": "2025-03-15T14:30:00Z"
}

Darbplūsmas kļūdu gadījumā:

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"
}

Tīmekļa āķu piegāde tiek veikta pēc labākās iespējas. Darbinieks pēc kārtas nosūta POST pieprasījumu uz katru reģistrēto URL, izmantojot vienas sekundes straumes taimautu, un ignorē piegādes kļūmes. Tāpēc lēns galapunkts var aizņemt darbiniekam līdz aptuveni sekundei par katru URL, taču nekad neizraisa uzdevuma kļūmi.

Lietojuma gadījumi

  • Slack brīdinājumi. Saņemiet paziņojumus, kad uzdevumi tiek paslēpti vai darbplūsmas neizdodas.
  • PagerDuty integrācija. Izraisiet incidentus kritisku uzdevumu kļūmju gadījumā.
  • Pielāgoti informācijas paneļi. Straumējiet notikumus uz savu uzraudzības infrastruktūru.
  • Audita pieraksti. Pārsūtiet notikumus ārējam reģistrēšanas pakalpojumam.