Počúvajte udalosti životného cyklu a príjemcov a napojte na ne logovanie, dashboardy, metriky či webhooky. Nájdete ich v RoundlyConsulting\Campaigns\Events a svoje dáta vystavujú ako verejné readonly vlastnosti:
| Udalosť | Dáta | Kedy nastane |
|---|---|---|
CampaignPrepared | campaign | prepare() uložil príjemcov a presunul kampaň do stavu Pending. |
CampaignStarted | campaign | start() presunul kampaň do stavu Processing. |
CampaignCompleted | campaign | Dobehli všetky joby doručenia (niektoré mohli zlyhať — pozrite progress->failed), alebo nebolo komu posielať. |
CampaignFailed | campaign | Dobehli všetky joby doručenia a ani jedno doručenie neprešlo — spustí sa namiesto CampaignCompleted. |
CampaignCancelled | campaign | cancel() zrušil kampaň. |
RecipientProcessed | campaign, recipient | Job príjemcu úspešne doručil správu. |
RecipientFailed | campaign, recipient, error | Job príjemcu zaznamenal chybu; error obsahuje správu. |
use Illuminate\Support\Facades\Event;
use RoundlyConsulting\Campaigns\Events\CampaignCompleted;
use RoundlyConsulting\Campaigns\Events\RecipientFailed;
// In a service provider's boot() method:
Event::listen(function (CampaignCompleted $event): void {
logger()->info('Campaign finished', $event->campaign->progress->toArray());
});
Event::listen(function (RecipientFailed $event): void {
logger()->warning('Campaign delivery failed', [
'campaign' => $event->campaign->uuid,
'recipient' => $event->recipient->reachableAt,
'error' => $event->error,
]);
});Udalosti životného cyklu nesú kampaň s priebehom preneseným z jej príjemcov a dávky v momente prechodu, takže CampaignCompleted hlási konečné počty — vrátane zlyhaní. Spúšťajú sa len pri skutočnej zmene stavu. Udalosti príjemcov sa spúšťajú vnútri jobov príjemcov — na vašich queue workeroch.
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.