Príkazy Artisan
| Príkaz | Čo robí |
|---|---|
webhooks:install | Zverejní webhooks-config, webhooks-migrations a sentinel-migrations; vypíše ďalšie kroky. |
webhooks:doctor {--json} | Skontroluje nastavenie; pri chybe skončí kódom 1; --json vypíše zistenia ako JSON pole. |
webhooks:retry | Pravidelný beh: splatné, odložené a stratené odchádzajúce doručenia (najviac outbound.sweep_batch na beh), pokusy skončených workerov, prichádzajúce doručenia uložené, no nezaradené. |
webhooks:prune {--dry-run} | Retencia a zmazané endpointy, na ktoré nič neukazuje. |
webhooks:rotate-secret {inbound|outbound} {endpoint} {--grace=seconds} | Vykoná rotáciu a raz vypíše nový tajný kľúč. |
webhooks:redeliver {msg_…} | Opätovne doručí jedno odchádzajúce doručenie. |
webhooks:redeliver --endpoint={id} {--since=date} {--cancelled} | Po výpadku: každé zlyhané (s --cancelled aj zrušené) doručenie endpointu vytvorené od dátumu; vypíše, koľko sa zaradilo a koľko preskočilo. |
webhooks:replay {delivery} | Znova spracuje prichádzajúce doručenie podľa verejného id. |
webhooks:endpoints {--owner=morph-class:id} | Vypíše prichádzajúce a odchádzajúce endpointy — nikdy tajný kľúč, hlavičku ani celú odchádzajúcu URL (len hostiteľa). |
webhooks:enable {inbound|outbound} {endpoint} | Znova zapne endpoint (odchádzajúci: počítadlo zlyhaní začne od nuly). |
webhooks:ping {endpoint} | Zaradí testovaciu udalosť webhook.ping na odchádzajúci endpoint. |
webhooks:make-scheme {recipe=blank} {name?} {--force} | Zapíše triedu podpisovej schémy do app/Webhooks/Schemes z receptu github, stripe alebo blank; bez --force neprepíše existujúcu. |
Plánovanie
So zapnutým schedule.enabled provider plánuje webhooks:retry (schedule.retry: everyMinute, everyTwoMinutes alebo everyFiveMinutes) a webhooks:prune (schedule.prune: hourly, daily alebo weekly), oba s withoutOverlapping()->onOneServer() a preskočené, kým chýbajú tabuľky. Spustite plánovač Laravelu — obmedzené a dlho odložené doručenia posúva ďalej len pravidelný beh. Pri vypnutom plánovaní spúšťajte webhooks:retry sami.
webhooks:doctor
| Kontrola | Úroveň | Význam |
|---|---|---|
config | error | Konfigurácia sa dá načítať (schémy, handlery, sanitizér). |
sync_queue | warning | Spojenie frontu je sync — spracovanie by bežalo v požiadavke. |
retry_after | error | retry_after spojenia nie je dlhší ako timeout DeliverWebhook. |
handler_retry_after | error | retry_after spojenia nie je dlhší ako inbound.handler.timeout. |
max_delay_over_driver_limit | error | Spojenie SQS s queue.max_delay nad 900 s. |
schedule_disabled | warning | schedule.enabled je vypnuté — spúšťajte webhooks:retry sami. |
rate_limit_store | warning | Úložisko http-client-rate-limits je v pamäti pri skutočnom fronte — obmedzenie odosielania platí len v rámci procesu. |
limiter_store_volatile | warning | Cache úložisko prichádzajúcich limitérov je array pri skutočnom fronte. |
idempotency_store_volatile | error | Úložisko idempotencie Sentinelu je array cache — bez deduplikácie medzi procesmi. |
idempotency_table | error | Chýba tabuľka idempotencie Sentinelu (databázové úložisko). |
curl | error | Chýba ext-curl alebo CURLOPT_RESOLVE. |
ssrf_disabled | warning | Ochrana pred SSRF je vypnutá. |
http_in_production | warning | V produkcii je povolené odchádzajúce http. |
tables | error | Chýbajú tabuľky webhookov. |
unknown_scheme · unknown_handler | error | Endpoint taký používa (detail: id endpointu). |
rfc9421_id_unsigned | warning | Endpoint RFC 9421, ktorého profil nepokrýva hlavičku s id doručenia. |
rfc9421_no_key | warning | Endpoint RFC 9421 bez naviazaného kľúča Sentinelu. |
rfc9421_nonce_store | error | Úložisko nonce Sentinelu neimplementuje InspectsNonces — odložené overenie nemôže bežať. |
rfc9421_profile_weak | warning | Profil RFC 9421 vypína require_nonce alebo require_content_digest. |
sweep_stalled | error | Doručenia splatné viac ako 10 minút stále čakajú — webhooks:retry nebeží. |
php artisan webhooks:doctor --json
# [{"level":"warning","check":"schedule_disabled","message":"The schedule is off …","detail":null}]Každé zistenie je DoctorFinding (level, check, detail, message()); pole --json obsahuje level, check, message a detail, pripravené pre monitoring. Bez --json príkaz vypíše jeden riadok na zistenie, prípadne No problems found., a ak je niektoré zistenie chybou, skončí kódom 1.
php artisan about
php artisan about # section "Webhooks"Sekcia Webhooks ukazuje prefix trasy (alebo OFF), spojenie a fronty, schémy, počet handlerov, ochranu pred SSRF ON alebo OFF, len https alebo http + https a vzorec opakovaní — žiadny tajný kľúč, URL ani hodnotu hlavičky.
Prejavte lásku k open source
Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.
Ďalšie spôsoby podpory vrátane kryptomienOdoslaním daru súhlasíte s našimi podmienkami prijímania darov.
Chcete to zabudovať do svojho produktu?
Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.