Laravel CRON konfiguracja

Laravel CRON konfiguracja
SS
  • Rejestracja:ponad 4 lata
  • Ostatnio:4 minuty
  • Postów:172
0

Cześć,
mam do wykonania wysyłanie automatycznych powiadomień do użytkowników.
Użytkownik ma zadanie którego termin upływa o x porze powiedzmy 2020-02-30 12:30:00 teraz pytanie, jak skonfigurować CRON i ... napisać komendę tak, aby do danego użytkownika zostało wysłane powiadomienie 2 godziny przed upływem tego czasu?

Dzięki

E3
  • Rejestracja:około 4 lata
  • Ostatnio:ponad 2 lata
  • Postów:1
0

Hej, według mnie cron powinien wykonywać się co najmniejszą jednostkę czasu np. jeśli terminy upływają co pół godziny to co pół godziny. A w skrypcie, który cron będzie wywoływał pobierasz tylko te terminy, które są mniejsze równe aktualnej dacie powiększonej o 2 godziny i lecisz po nich pętlą wysyłając powiadomienia. Później musisz je jakoś odznaczyć, że powiadomienie zostało już wysłane.

masterc
  • Rejestracja:około 4 lata
  • Ostatnio:ponad 3 lata
  • Postów:425
0

do Crona dodajesz linie zeby wykonywal sie co minute

Kopiuj
* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1

A potem w Larvie tworzysz Command plik w ktorym sprawdzasz Select user_id from task where time_end - now() < 2 godzin
i w petli do kazdego usera wysylasz powiadomienia plus zaznaczasz ze wyslales coby nie wysylac im co minute powiadomien :)


Wymyśliłem, że nie chce mi się.
edytowany 1x, ostatnio: masterc
GH
  • Rejestracja:ponad 5 lat
  • Ostatnio:5 dni
  • Postów:27
0

A nie lepiej niż cronem zrobić to jobami/kolejką?

https://laravel.com/docs/8.x/queues

W momencie gdy użytkownik dodaje zadanie z terminem, dodajesz joba z wybranym delayem (termin - 2h).

edytowany 1x, ostatnio: GoHard

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.