@gigisarri98

Как сделать очередь-демон в laravel?

Добрый день! Я хочу реализовать демона на ларавел (с помощью очередей), который бы проверял давность регистрации и высылал письмо пользователю при определенных условиях. Логику я придумал, но пока не могу понять, как реализовать сам демон. То есть, где должен располагаться вызов очереди? Как сделать ее в фоне, чтобы она срабатывала раз в сутки? Ответа в интернете не нашел:( Заранее спасибо
  • Вопрос задан
  • 91 просмотр
Решения вопроса 3
AmdY
@AmdY
PHP и прочие вебштучки
Демон - это постоянно работающая в фоновом режиме программа. Вам же надо раз в день, это не демон, а планировщик задач https://laravel.com/docs/8.x/scheduling
Ответ написан
Комментировать
@lavren
Немного логики:

С помощью CRON запускаем задачу раз в сутки
В этой задаче получаем все модели подходящие под условия
Отправляем или саму модель (если нужна более гибкая работа с ними) в очередь или перебираем модели и отправляем письмо в очередь (мне кажется лучше первое, тк лучше 100 легких задач чем одна тяжелая, учитывая что даже простой vps потянет сотни тысяч задач в час)
В очереди выполняем то что надо с моделью.
Cron самостоятельно повторяет это раз в час.

Лучше прочитать документацию Laravel от начала и до конца будет понимание что он умеет. Все что я описал там есть. laravel.su/docs/8.x
Ответ написан
Комментировать
JhaoDa
@JhaoDa
LaravelRUS Team
Попробуй поискать ответ в документации. Подсказка: надо делать не на очередях (хотя возможно и на них, но очереди не для этого).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы