- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用 Laravel Queues 和 beanstalkd 管理音频转换,由 supervisord 监控。
当用户上传音频文件时,它会转到触发 Queue::push('AudioProcess')
的 AudioController.php
,它本身会触发 exec('sh some_script.sh some_audio.mp3')
处理音频并在完成后将应用程序音频模型状态设置为 1
。
我做了一堆上传来测试,这里是记录
1
表示 AudioProcess.php
worker 已执行,0
表示 AudioProcess.php
worker 尚未执行'已被执行。
我猜它可能来自 Laravel 队列管理或 beanstalkd,但我在日志中找不到任何相关内容(laravel.log
,我的主管 queue.log
, php_errors.log
).
我在同一台服务器上运行一个暂存环境和一个生产环境,所以有两个 Laravel 应用程序,因此有两个 php artisan queue:listen
命令同时运行(每个都有 --env
指定),如果它与我的问题有关。几周前它运行良好,然后我暂时放弃了这个项目,最近又重新开始了。我也做了一些apt-get update && apt-get upgrade
。
为什么 Laravel 或 beanstalkd 没有处理所有作业?
最佳答案
问题的发生可能是因为两个 php artisan queue:listen
(对于每个环境)正在将作业发送到同一个 beanstalkd 队列(默认
)。这导致了某种冲突,但我不能说更多...
我通过让每个环境的 php artisan queue:listen
将作业发送到 [environment]
队列来修复它。因此我现在有两个队列,staging
和 production
。
怎么做
创建一个 app/config/[environment]/queue.php
覆盖[connections => [beanstalkd => [queue]]]
来自 default
的参数到该环境的名称。
指定队列的名称 artisan :php artisan queue:listen --queue=[environment]
关于php - 为什么 Laravel 或 Beanstalkd 会跳槽?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26834623/
金三银四即将开启,,一些不满现状,被外界的“高薪”“好福利”吸引的人,一般就在这时候毅然决然地跳槽了。 跳槽是为了寻求更好的发展,但在跳槽前我们也不能确定下家就是更好的归宿,这就更加需要我们审慎地去对
系列文章目录和关于我 - Cuzzz - 博客园 (cnblogs.com) 零丶序言 来阿里100天了(准确说是137天,转正后就想写的,但是一直拖延了40天+),在互联网哀鸿遍野
前言:这两天的文章,很多的朋友加了好友,聊了很多各种话题,从投融资,到创业的方向,还有关于工作发展和跳槽方面。聊得过程中,一幕幕的往事涌上心头,今天就聊了这个,可能角度和
我是一名优秀的程序员,十分优秀!