我正在尝试设置一个表,以便在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工作队伍的新手,所以我不确定我错过了什么。如何创建迁移以使用数据库队列驱动程序?
更新:我刚刚在postgres db中创建了一个job表,我正在使用Lumen documentation中描述的结构并使用它来存储作业,但我仍然很好奇为什么queue:table
函数不可用。
Laravel Framework版本流明(5.3.3)(Laravel Components 5.3。*)
php artisan queue:table
这个命令是正确的,但是在.env文件中设置QUEUE_DRIVER =数据库,并检查作业
class TempleteEmailJob implements ShouldQueue
实现创建迁移需要实现ShouldQueue
然后php artisan迁移