Laravel 队列的简单例子

2018-07-17  本文已影响286人  CaptainRoy
1. 修改 .env 中的 QUEUE_DRIVER 值
QUEUE_DRIVER=database
2. 要使用 database 这个队列驱动的话,你需要创建一个数据表来存储任务。你可以用 queue:table 这个 Artisan 命令来创建这个数据表的迁移。当迁移创建好以后,就可以用 migrate 这条命令来创建数据表.
php artisan queue:table
php artisan migrate
3. 生成任务类
php artisan make:job SendMessage
<?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;

    protected $message;
    /**
     * Create a new job instance.
     *
     * @return void
     */
    public function __construct($message)
    {
        $this->message = $message;
    }

    /**
     * Execute the job.
     *
     * @return void
     */
    public function handle()
    {
        \Log::info($this->message);
    }
}
public function sendQueue()
{
    SendMessage::dispatch('这是一个超级队列');
}
php artisan queue:work
上一篇 下一篇

猜你喜欢

热点阅读