在 Laravel v4.2 中无需等待发送电子邮件即可触发队列作业
trigger queue jobs without waiting sending email in Laravel v4.2
我正在处理用户注册任务,我的目标是在用户注册 30 分钟后发送欢迎电子邮件但我不知道这个过程将如何进行,因为每次我在队列中收到的作业总数是 1。
下面是我在队列中注册用户和推送作业的方法,但我不想等到电子邮件发送。
public function register_process($inuts){
if(User::insert($inuts)){
$date = Carbon::now()->addMinutes(15);
Queue::later($date, 'HomeController@testQueueJobs', array('message' =>$inuts['message']));
}}
public function testQueueJobs($job,$data){
echo 'Total Jobs In Queue:'.count($job);die;
}
现在我很困惑这个作业在用户注册成功后如何执行而不发送电子邮件。
请帮助或参考任何有用的演示 link.
您使用的是什么驱动程序? https://laravel.com/docs/4.2/queues#configuration
如果您使用 sync
进行本地开发,我相信工作会立即排队。您需要使用支持延迟的驱动程序。
示例:
- Queue::later() not working on Laravel
- https://laracasts.com/discuss/channels/laravel/cant-get-later-to-delay-queued-emails-in-laravel-54
我正在处理用户注册任务,我的目标是在用户注册 30 分钟后发送欢迎电子邮件但我不知道这个过程将如何进行,因为每次我在队列中收到的作业总数是 1。 下面是我在队列中注册用户和推送作业的方法,但我不想等到电子邮件发送。
public function register_process($inuts){
if(User::insert($inuts)){
$date = Carbon::now()->addMinutes(15);
Queue::later($date, 'HomeController@testQueueJobs', array('message' =>$inuts['message']));
}}
public function testQueueJobs($job,$data){
echo 'Total Jobs In Queue:'.count($job);die;
}
现在我很困惑这个作业在用户注册成功后如何执行而不发送电子邮件。 请帮助或参考任何有用的演示 link.
您使用的是什么驱动程序? https://laravel.com/docs/4.2/queues#configuration
如果您使用 sync
进行本地开发,我相信工作会立即排队。您需要使用支持延迟的驱动程序。
示例:
- Queue::later() not working on Laravel
- https://laracasts.com/discuss/channels/laravel/cant-get-later-to-delay-queued-emails-in-laravel-54