Laravel 队列正在与 beanstalkd 和 redis 重复
Laravel Queue is repeating with beanstalkd and redis
我正在使用 laravel 带有 beanstalkd 驱动程序的队列(同样的事情发生在 redis 上),当我推送一个队列时它只是不断重复
我所做的只是:
- 安装 beanstalkd ,运行
beanstalkd
- 运行
php artisan queue:listen
- 在 queue listen 的终端 window 中,每隔几秒就一直重复:
Processed: SendEmail
我认为队列不为空,所以尝试将其清除(它是空的),失败的作业 table 是空的。
第二次测试,停止了 beantlkd 和队列监听,我有一个控制器,上面写着:
..
Queue::push('SendEmail@fire', array('message' => $msg->id));
控制器中完全没有循环,发送电子邮件功能中也没有循环
您需要在 SendEmail@fire 结束时删除作业
Class SendMail {
public function fire($job, $data){
///...
$job->delete();
}
}
我正在使用 laravel 带有 beanstalkd 驱动程序的队列(同样的事情发生在 redis 上),当我推送一个队列时它只是不断重复
我所做的只是:
- 安装 beanstalkd ,运行
beanstalkd
- 运行
php artisan queue:listen
- 在 queue listen 的终端 window 中,每隔几秒就一直重复:
Processed: SendEmail
我认为队列不为空,所以尝试将其清除(它是空的),失败的作业 table 是空的。
第二次测试,停止了 beantlkd 和队列监听,我有一个控制器,上面写着:
..
Queue::push('SendEmail@fire', array('message' => $msg->id));
控制器中完全没有循环,发送电子邮件功能中也没有循环
您需要在 SendEmail@fire 结束时删除作业
Class SendMail {
public function fire($job, $data){
///...
$job->delete();
}
}