生成为Laravel作业队列创建表的迁移吗?

时间:2018-08-16 19:22:49

标签: php laravel laravel-5 lumen artisan

我试图建立一个表以便异步执行Laravel中的作业。我已经编写了作业类并可以分派它。但是它正在同步调度。

documentation之后,当我尝试使用php artisan queue:table创建迁移时,出现以下错误:

[Symfony\Component\Console\Exception\CommandNotFoundException]     
Command "queue:table" is not defined.                             
Did you mean one of these?                                      
queue:failed                                                
queue:work                                                  
queue:restart                                               
queue:listen                                                
queue:retry                                                 
queue:forget                                                
queue:flush

我注意到我最初在config目录中没有queue.php文件,所以我从repository中添加了一个,并将'default' => env('QUEUE_DRIVER', 'sync')更改为'default' => env('QUEUE_DRIVER', 'database'),

我还在.env文件中将QUEUE_DRIVER=sync更改为QUEUE_DRIVER=database

我是Laravel的工作队列新手,所以我不确定自己缺少什么。如何创建迁移以利用数据库队列驱动程序?

更新: 我只是按照Lumen documentation中描述的结构在剩余的数据中使用的postgres db中创建了一个作业表,并使用它来存储作业,但仍然好奇为什么queue:table函数不可用。

Laravel框架版本Lumen(5.3.3)(Laravel组件5.3。*)

1 个答案:

答案 0 :(得分:0)

php artisan queue:table 

此命令正确,但是在.env文件中设置了QUEUE_DRIVER = database 并检查作业

class TempleteEmailJob implements ShouldQueue

创建迁移所需的实现ShouldQueue

然后php artisan迁移