触发队列作业而无需等待在Laravel v4.2中发送电子邮件

时间:2017-09-29 12:16:06

标签: php laravel-4

我正在处理用户注册任务,我的目标是在用户注册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;
}

现在我很困惑,在成功注册用户并发送电子邮件后,这项工作将如何执行。 请帮助或参考任何有用的演示链接。

1 个答案:

答案 0 :(得分:0)

你正在使用什么驱动程序? https://laravel.com/docs/4.2/queues#configuration

如果您正在使用sync进行本地开发,我相信工作会立即排队等候。您需要使用支持延迟的驱动程序。

示例:

  1. Queue::later() not working on Laravel
  2. https://laracasts.com/discuss/channels/laravel/cant-get-later-to-delay-queued-emails-in-laravel-54
相关问题