美文网首页
Laravel队列

Laravel队列

作者: 小慕先森 | 来源:发表于2017-08-10 00:33 被阅读0次

步骤:

驱动选择
在.env环境中修改QUEUE_DRIVER=database来实现

定义任务

分发任务

启动队列

系统通知队列的实现:

1、创建database的queue表:php artisan queue:table

2、创建任务:php artisan make:job SendMessage

在jobs文件夹下的SendMessage中编写

构造函数中注入要发送的通知,hander中编写通知要发送的用户。加入到用户与通知的关联表里面

<?php

namespace App\Jobs;

use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;

class SendMessage implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;

    private $notice;
    /**
     * Create a new job instance.
     *
     * @return void
     */
    public function __construct(\App\Http\Model\Notice $notice)
    {
        $this->notice = $notice;
        //
    }

    /**
     * Execute the job.
     *
     * @return void
     */
    public function handle()
    {
        //通知每个用户系统消息
        $users = \App\User::all();
        foreach($users as $user){
            $user->addNotice($this->notice);
        }
    }
}

3、在后台中保存通知的方法前调用

$notice = Notice::create(request(['title','content']));

$this->dispatch(new \App\Jobs\SendMessage($notice));

4、启动队列
php artisan queue:work
开启常驻内存服务
若在Linux的常驻内存:
nohup php artisan queue:work >> /dev/null &
5、在前端视图中显示

相关文章

  • laravel使用队列监控 Horizon

    继 laravel使用队列 ,本篇介绍更好的队列监控工具--Horizon Horizon 是 Laravel 生...

  • laravel 队列重调(自调)问题如何解决

    laravel队列重新调用、自我调用,再次调用 前言 laravel使用redis队列,跟rabbitmq等专业消...

  • Laravel 文件系统及队列处理

    队列 Laravel 队列为不同的后台队列服务提供统一的 API,这些队列介质可以是 Beanstalk、Redi...

  • Laravel队列

    步骤: 驱动选择在.env环境中修改QUEUE_DRIVER=database来实现 定义任务 分发任务 启动队列...

  • Laravel 队列

    队列使用步骤1.迁移队列需要的数据表2.编写任务类3.推送任务到队列4.运行队列监听器5.处理失败的任务 使用1....

  • laravel 队列

    什么是队列,队列用来干什么的这里不再介绍! 这里使用数据库作为驱动,php artisan queue:table...

  • laravel 队列

    指导文章http://laravelacademy.org/post/6922.html就是官方的中文翻译,感谢这...

  • laravel 队列

    windows 中使用 horizon, 原文见 github, learnku 在 .env 中将 QUEUE_...

  • laravel队列

    1迁移需要的数据表 配置 修改.env文件,队列支持"sync", "database", "beanstalkd...

  • laravel 队列

    laravel队列文档 1.概念理解 连接(connections ):config/queue.php中有一个c...

网友评论

      本文标题:Laravel队列

      本文链接:https://www.haomeiwen.com/subject/xbscrxtx.html