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
网友评论