Laravel Mail :: queue not async

时间:2015-11-28 15:44:14

标签: php laravel queue beanstalkd

我有laravel 5.1队列的问题。 我已经在我的Homestead vm中设置了beanstalkd所以我所做的就是将default中的队列驱动程序更改为beanstalkd中的config/queue.php。我已经尝试了下面的代码,似乎没有人排队等候。一旦我运行代码,它们都会同步启动。我甚至没有发出artisan queue:listen命令。我做错了什么?

Route::get('/', function () {
//    return view('welcome');

    Queue::push(function($job)
    {
        Log::info("Dadas");
        $job->delete();
    });

    $input = [
        'name' => 'Mario Bašić',
        'email' => 'email@me.com',
        'comment' =>  'Testing queues',
        'subject' =>  'Email subject'
    ];

    Mail::queue('emails.test', $input, function($message) use ($input)
    {
        $message->to($input['email'], $input['name']);
        $message->subject($input['subject']);
        Log::info('sending');
    });
});

1 个答案:

答案 0 :(得分:3)

确保更改.env文件中的驱动程序:

QUEUE_DRIVER=beanstalkd

config/queue.php中的值更改为:

'default' => env('QUEUE_DRIVER', 'beanstalkd'),
如果在QUEUE_DRIVER中为.env设置了其他值,则

将无效。