NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky

E-mail ide do súhrnu používateľa, keď je druh Priority::Low a digestible() a frekvencia používateľa nie je off (predvolená je notifications.digest.default, off). Povinné druhy, ktoré patria do súhrnu, sa doň tiež zaradia — stále prídu. Položka schránky vznikne v každom prípade hneď:

use RoundlyConsulting\Notifications\Enums\DigestFrequency;

Notifications::preferences($user)->digest(DigestFrequency::Daily);            // at notifications.digest.time
Notifications::preferences($user)->digest(DigestFrequency::Weekly, '07:30');  // on notifications.digest.weekly_day
Notifications::preferences($user)->digest(DigestFrequency::Off);

Notifications::digests()->sendDue();          // int — what the sweep runs
Notifications::digests()->preview($user);     // ?MailMessage — the digest of the user's parked items, never sent

Termín a obdobie

Počíta sa pri odložení e-mailu v časovom pásme používateľa. Denne → dnes v daný čas, alebo zajtra, ak už prešiel (zmena času miestny termín zachová), obdobie Y-m-d. Týždenne → najbližší nastavený deň v daný čas (dnes, ak je to ten deň a čas ešte neprešiel), obdobie GGGG-[W]WW. Termín v tichých hodinách sa posunie na ich koniec; obdobie zostane.

Behy

Sweep zoskupí splatné odložené doručenia podľa príjemcu, frekvencie a obdobia, pre každú skupinu vytvorí jeden DigestRun (unikátny pre príjemcu, frekvenciu a obdobie), prevezme ho cez compare-and-set a odošle — druhý sweep ani opakovaná úloha nič nepošle. Každá položka sa znova overí (prístup, stlmenie, subjekt, druh) a neúspešné vypadnú. Ak nič nezostane, beh je empty a žiadny e-mail neodíde; inak odíde jeden e-mail zoskupený podľa kontextu a kategórie, najviac digest.max_items riadkov („a :count ďalších položiek v schránke“), a spustí sa DigestSent.

  • Oneskorené položky — položka odložená pre obdobie, ktorého súhrn už odišiel, prejde do najbližšieho termínu používateľa.
  • Zmena frekvencie — čakajúce položky sa presunú na nový termín; po vypnutí odídu ako jeden posledný súhrn pri najbližšom sweepe.
  • Zlyhanie odoslania — beh sa opakuje v ďalších sweepoch až do notifications.mail.max_attempts, potom zlyhá aj so svojimi položkami.
  • Pád — beh, ktorý sa po digest.lease (PT15M) stále odosiela, zlyhá spolu s položkami — nikdy sa nezoskupuje donekonečna ani potichu nestratí.
  • Príjemca neexistuje → empty; príjemca bez adresy → failed(no_address). Resolver adries platí rovnako ako pri typovaných e-mailoch.
  • Notifikácie iných balíkov (interop) do súhrnu nikdy nejdú.

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 kryptomien

Odoslaní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.