Laravel 5.7 - очереди слишком медленные - PullRequest
0 голосов
/ 02 января 2019

Я использую задания очередей Laravel 5.7 и 3, время между заданиями слишком длинное / медленное.

Я проповедую элементы RSS-каналов на первом задании и отправляю этот элемент на втором задании и т. Д. Я не вхожу в детали, но есть некоторые маленькие смешные вычисления, которые не должны занимать время.

Проблема в том, что каждая отправка на работу занимает много времени. Горизонт и телескоп не позволяют мне отлаживать.

Машина, которую я использую, имеет 32 ГБ ОЗУ, и есть несколько процессов (15 каждый), которые поворачивают хвосты.

[program:mywebsite_feeder]
command=/RunCloud/Packages/php72rc/bin/php artisan queue:work redis --queue=feeder --tries=3 --sleep=0
directory=/home/runcloud/webapps/mywebsite
redirect_stderr=true
autostart=true
autorestart=true
user=runcloud
numprocs=15
process_name=%(program_name)s_%(process_num)s

У меня есть эта ошибка в laravel.log:

production.ERROR: App \ Jobs \ FeederJob предпринималась слишком много раз или слишком долго бегать. Возможно, ранее задание было приостановлено.

1 Ответ

0 голосов
/ 02 января 2019

У меня была та же проблема, и я провел много поисков, но ничего не помогло, даже если есть некоторые проблемы с этой ошибкой в ​​ horizon Github , но без полезного решения.проблема в горизонте и ошибке Redis для тяжелых задач.

наконец, я переключаюсь с Redis и горизонта на базу данных SQL (что вы используете в своем проекте для меня, mssql) в качестве соединения с очередью, и это решает проблему

примечание: используйте --timeout=0 в своей команде ремесленника

...