簡體   English   中英

Laravel 5.7 - 隊列作業太慢

[英]Laravel 5.7 - Queues Jobs are too slow

我使用 Laravel 5.7 和 3 個隊列作業,作業之間的時間太長/太慢。

我在第一份工作中 foreach RSS 提要項目,我在第二份工作中發送這個項目,等等......我沒有詳細輸入,但有一些荒謬的小計算,不能花時間。

問題是每次派遣工作都需要花費大量時間。 Horizo​​n 和 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM