队列的简单 demo
基于文档稍微写一个很小的 demo 然后面的新手直接能用
1:创建model 和 数据库
php artisan make:model Podcast -m
我就创建两个字段 id & status ,database目录下新建表的 run 方法:
public function up()
{
Schema::create('podcasts', function (Blueprint $table) {
$table->increments('id');
$table->tinyInteger('status')->unsigned();
$table->timestamps();
});
}
2:创建控制器,增加 story 方法
php artisan make:controller:API\PodcastController
增加一个
public function store( ) {
$model = new Podcast();
$model->status = 0;
$model->save();
ProcessPodcast::dispatch($model)->delay(now()->addMinutes(3));
}
3:修改 Job / ProcessPodcast.php 类,
protected $podcast ;
public function __construct(Podcast $podcast)\
{
$this->podcast = $podcast;
}
public function handle()\
{
$this->podcast->status = 1;
$this->podcast->update();
}
3:配置 .env
QUEUE_DRIVER=redis
4:job 怎么创建文档上已经写的很清楚了,就只是差控制器 & 数据库 & 模型 没有创建。
5:在 routes/api.php 增加路由
Route::get('queue','API\PodcastController@store');
6:在服务器上执行 php artisan queue:work
高认可度评论:
基于楼主的demo,重新写了一份详细点的
队列的简单demo
references
model
创建表
job
Controller
routes
在route文件中新增
运行
请求api
运行命令
或者监听
数据库
写得真乱,让人家越看不明白
基于楼主的demo,重新写了一份详细点的
队列的简单demo
references
model
创建表
job
Controller
routes
在route文件中新增
运行
请求api
运行命令
或者监听
数据库
大佬们有没有碰到过laravel队列同步可以执行,换成database异步就只是添加到jobs表里了,不执行任务。 :cry: :cry: