Laravel 队列与 beanstalkd 和 redis 重复
Posted
技术标签:
【中文标题】Laravel 队列与 beanstalkd 和 redis 重复【英文标题】:Laravel Queue is repeating with beanstalkd and redis 【发布时间】:2015-03-08 15:23:49 【问题描述】:我正在使用带有 beanstalkd 驱动程序的 laravel 队列(redis 也发生了同样的事情),当我推送队列时它只是不断重复
我所做的只是:
-
安装 beanstalkd ,运行
beanstalkd
运行php artisan queue:listen
在队列监听的终端窗口中,每隔几秒就会重复:Processed: SendEmail
我认为队列不是空的,所以尝试将其刷新(它是空的),失败的作业表是空的。
第二次测试,停止 beanstlkd 和队列监听,我有一个控制器,它简单地说:
..
Queue::push('SendEmail@fire', array('message' => $msg->id));
控制器中根本没有循环,发送电子邮件功能中也没有
【问题讨论】:
【参考方案1】:您需要在 SendEmail@fire 结束时删除作业
Class SendMail
public function fire($job, $data)
///...
$job->delete();
【讨论】:
以上是关于Laravel 队列与 beanstalkd 和 redis 重复的主要内容,如果未能解决你的问题,请参考以下文章
Laravel Lumen 队列失败与队列:工作但不是队列:听
Laravel使用中的Broadcasting Events事件和Queues队列
Laravel 运行队列处理器 queue:work 与 queue:listen 区别及 Windows 终端命令问题
Laravel 运行队列处理器 queue:work 与 queue:listen 区别及 Windows 终端命令问题