php artisan make:job SynUser
4.在队列类里面的handle方法中写上业务逻辑(比如发送网络请求,发送邮件等等,这里简单写个日志代替)
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);
}
5.在控制器中加入一个测试方法,直接调用队列类的 dispatch方法,类似生产了一个任务
public function test()
{
SynUser::dispatch('发送请求到b系统生成账号');
}
这时,由于队列还没开启,数据库的队列表中会有一个任务,等待队列启动后执行
6.执行命令开启队列
php artisan queue:work
这时,队列表中的任务执行后就会自动删除了,类似消费了任务
以上是抛转引玉的一个简单例子,具体细节可以查看laravel的队列文档