[英]Laravel 5.7 - Queues Jobs are too slow
我使用 Laravel 5.7 和 3 個隊列作業,作業之間的時間太長/太慢。
我在第一份工作中 foreach RSS 提要項目,我在第二份工作中發送這個項目,等等......我沒有詳細輸入,但有一些荒謬的小計算,不能花時間。
問題是每次派遣工作都需要花費大量時間。 Horizon 和 Telescope 不允許我調試。
我使用的機器有 32 GB 的 RAM,並且有幾個進程(每個 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 嘗試次數過多或運行時間過長。 該作業之前可能已超時。
默認情況下,當沒有可用作業時,laravel 隊列會休眠 3 秒。 你應該使用--sleep=0
選項
我遇到了同樣的問題並進行了大量搜索,但沒有任何幫助,即使地平線 Github 中存在有關此錯誤的一些問題,但沒有有用的解決方案。 問題是關於地平線和重任務的 Redis 錯誤。
最后,我從 Redis 和地平線切換到 SQL 數據庫(無論你在我的項目中使用什么 mssql)作為隊列連接,它解決了問題
注意:在您的工匠命令中使用--timeout=0
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.