我正在管理音频转换Laravel 队列 and 豆茎,监测者监督者.
当用户上传音频文件时,它会转到AudioController.php
这会触发一个Queue::push('AudioProcess')
,它本身会触发exec('sh some_script.sh some_audio.mp3')
处理音频并将应用程序音频模型状态设置为1
当它完成时。
I did a bunch of uploads to test, here are the records
1
意味着AudioProcess.php
工人已被处决0
意味着AudioProcess.php
工人尚未被处决。
我猜它可能来自 Laravel 队列管理或 beanstalkd,但我在日志中找不到任何相关内容(laravel.log
,我的主管queue.log
, php_errors.log
).
我在同一台服务器上运行临时环境和生产环境,因此有两个 Laravel 应用程序,因此有两个php artisan queue:listen
同时运行的命令(每个命令都有--env
指定),如果它与我的问题有关。几周前效果很好,然后我放弃了这个项目一段时间,最近又重新开始。我做了一些apt-get update && apt-get upgrade
too.
为什么 Laravel 或 beanstalkd 不能处理所有作业?
这个问题的发生很可能是因为两个php artisan queue:listen
(对于每个环境)将作业发送到相同的 beanstalkd 队列(default
)。这导致了某种冲突,但我不能透露更多......
我通过使每个环境的php artisan queue:listen
将作业发送到[environment]
队列。因此我现在有两个队列,staging
and production
.
怎么做
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)