繁体   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