当前位置 : 主页 > 编程语言 > java >

laravel中的队列

来源:互联网 收集:自由互联 发布时间:2022-06-23
Laravel 队列为不同的后台队列服务提供统一的 API,可使用多种驱动,eg:mysql,redis,Beanstalkd等,驱动已经封装,不需要管理这些驱动,只需要修改配置就可以更改驱动,在驱动之上的所

Laravel 队列为不同的后台队列服务提供统一的 API,可使用多种驱动,eg:mysql,redis,Beanstalkd等,驱动已经封装,不需要管理这些驱动,只需要修改配置就可以更改驱动,在驱动之上的所有逻辑,包括分发任务和队列的执行操作都是统一的,这就是laravel的优势。

修改驱动为database

  位置:.env

QUEUE_DRIVER=database

创建database的queue表

php artisan queue:table
php artisan migrate

创建任务SendMessage

php artisan make:job SendMessage

创建发送逻辑dispatch

  位置:app/Jobs/SendMessage.php

private $notice;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct(\App\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);
}
}

laravel中的队列_redis

启动队列

php artisan queue:work

nohup php artisan queue:work >> /tmp/test &

 

上一篇:数据库text字段存值用回车分隔
下一篇:没有了
网友评论