очереди? Грубо говоря брать тот же образ приложения но запускать рядом просто обработчики очереди?
Запустить внутри контейнера?
Очереди это имеется ввиду тоже приложение но запущен artisan queue listen?
Нет, queue:listen только для разработки. На проде надо queue:work. А вообще да, но не совсем - эту команду должен супервизор держать запущенным.
Можно кроном запускать. В докерфайле вот так: # Copy cron file to cron COPY docker/laravel-cron /etc/cron.d/laravel-cron # Run cron file RUN crontab /etc/cron.d/laravel-cron RUN service cron start Сам файл laravel-cron вот так: * * * * * cd /var/www/html && php artisan schedule:run >> /dev/null 2>&1 Ну только пути свои, конечно, прописать.
Допустим, в очереди 1000 задач и каждая обрабатывается 10 секунд. Через 60 секунд крон запустит ещё одну очередь. Таким образом, всего через 2 часа на сервере будет запущено 120 очередей и они будут продолжаться запускаться каждые 60 секунд, так как очередь завершится только при падении самого сервиса очереди. А супервизор держит конкретное количество потоков.
Обсуждают сегодня