队列通知laravel 5.3问题

时间:2016-08-20 03:51:22

标签: php laravel ubuntu queue laravel-5.3

我正在测试laravel 5.3及其伟大的

中实现的这个新通知内容

我有这个通知类,它将邮件发送给经过身份验证的用户(当他点击特定路由时),这是默认代码。

通知

namespace App\Notifications;

use Illuminate\Bus\Queueable;
use Illuminate\Notifications\Notification;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\MailMessage;

class notifyme extends Notification  implements ShouldQueue
{
    use Queueable;

    public function __construct()
    {
        //
    }
    public function via($notifiable)
    {
        return ['mail'];
    }
    public function toMail($notifiable)
    {
        return (new MailMessage)
                    ->line('The introduction to the notification.')
                    ->action('Notification Action', 'https://laravel.com')
                    ->line('Thank you for using our application!');
    }

这是实例化通知类

的控制器函数
public function notifyme()
    {
        $user = Auth::user()

        $user->notify(new notifyme($user));
        //$user->notify((new notifyme($user))->delay(Carbon::now()->addMinutes(10)));

         return redirect('/home');
    }

现在使用ubuntu操作系统,并将我的队列驱动程序设置为同步,这应该可以在localhost QUEUE_DRIVER="sync"上正常工作

我创办了一名工人php artisan queue:work

但终端窗口上没有任何显示页面仍然有点慢(队列不工作) startForeground()

我有默认的queue.php,我没有改变它,正如我所提到的,我使用同步作为驱动程序 任何建议的解决方案?

1 个答案:

答案 0 :(得分:7)

sync驱动程序不使用队列,它允许同步运行作业以运行测试。

您需要使用此处列出的laravel提供的驱动程序之一 - Laravel queues,或安装一些自定义内容,例如RabbitMQ或其他内容