Preskočiť na obsah

HermesÚlohy na pozadí pre PHP

Z požiadavky vložte správu a pomalú časť nechajte na CLI workera. Redis, Predis, RabbitMQ, Amazon SQS, Kafka a lokálny adresár vo verzii 6.x.

Na čo sa používa

Webová požiadavka vloží správu a hneď odpovie. Pomalú časť urobí worker.

  • Posielanie e-mailov

    E-maily po registrácii, pri obnove hesla alebo k objednávke odchádzajú z workera. Požiadavka skončí skôr, než SMTP server vôbec odpovie.

  • Faktúry a PDF

    Vygenerujte PDF, uložte ho a priložte k e-mailu na pozadí. Používateľ klikne raz a pokračuje.

  • Obrázky a video

    Zmenšite nahrané obrázky, vyrežte náhľady alebo spustite prevod videa. Náročná práca pre CPU zostane mimo webových serverov.

  • Spracovanie dát

    Prepočítajte štatistiky, zostavte reporty alebo vyčistite záznamy v malých správach, ktoré si rozdelí viac workerov.

  • Importy a exporty

    Spracujte veľké CSV alebo zostavte exportný súbor riadok po riadku. Dajte používateľovi vedieť, keď je hotovo, namiesto toho, aby čakal.

  • Webhooky

    Odchádzajúce webhooky doručuje worker. Keď príjemca nefunguje, RetryTrait to skúsi znova s rastúcim odstupom.

  • API tretích strán

    Synchronizujte objednávky do ERP, posielajte kontakty do CRM alebo volajte pomalé platobné API bez blokovania PHP-FPM procesu.

  • Notifikácie

    Z jednej správy rozošlite push, SMS alebo notifikácie v aplikácii mnohým používateľom.

  • Indexovanie vyhľadávania

    Aktualizujte Elasticsearch, Meilisearch alebo vyhľadávaciu tabuľku po uložení, aby samotný zápis zostal rýchly.

  • Zahrievanie cache

    Po nasadení alebo zmene obsahu znova zostavte drahé položky cache skôr, než o ne požiada ďalší návštevník.

  • Odložené úlohy

    Pošlite pripomienku o 24 hodín alebo zrušte rezerváciu o 15 minút pomocou executeAt na Redise alebo Predise.

  • Akákoľvek pomalá úloha

    Ak nemusí skončiť pred odpoveďou, vložte správu a nechajte ju spracovať handler.

Ukážka v praxi ​

Používateľ sa zaregistruje. Webová aplikácia vloží správu user.registered a odpovie za pár milisekúnd. Worker, samostatný CLI proces spustený príkazom php bin/worker.php, správu vyberie a pošle uvítací e-mail. Keď SMTP nestihne odpovedať, RetryTrait pošle kópiu správy a ďalší pokus uspeje.

Kam ďalej ​

Vydané pod licenciou MIT.