PHP的工匠队列不显示任何东西

时间:2019-05-29 12:32:57

标签: php laravel-5

我正在使用laravel 5.0并试图设置发送电子邮件的队列,我已经创建了它并编写了类似的代码。 Queue::pushOn('emails', new SendEmail($user));
它在作业表中添加了一行,然后运行以下命令

$ php artisan queue:listen

但是它没有显示任何内容,也没有发送电子邮件。

3 个答案:

答案 0 :(得分:2)

对,我也遇到了同样的问题, 我的工作代码中有一个错误,这就是为什么它被卡在queue:listen中,以确保您的工作代码中没有错误。

您可以将以下检查放入作业handle()中以解决错误。

public function handle()
{
  try{
   // your code here.
  } catch (\Exception $e) {
      dd($e->getMessage());
  }
}

然后运行。

  

$ php artisan队列:收听电子邮件

现在,如果您的代码中有错误,该错误将显示在命令行中。 希望对您有所帮助。

答案 1 :(得分:0)

请检查您在config/queue.php中是否有一个名称为emails的连接,因为您正在使用方法queue推送到此pushOn()。 或者,仅使用以下方式推入默认的queue

Queue::push(new SendEmail($user));

答案 2 :(得分:0)

请务必尝试:

config:clear
cache:clear
config:cache

然后:

php artisan queue:listen emails

将在电子邮件队列中侦听作业。