【发布时间】:2020-01-23 04:31:56
【问题描述】:
在 Laravel 5.8 上运行 我正在创建大量作业,我认为一旦启动队列就应该执行这些作业。 我的问题是,当我什至还没有启动队列时,作业就会在那里执行。
它们甚至没有被插入到迁移创建的jobs 表中。
以下是我认为相关的设置和代码。如果需要更多信息,请告诉我。
全新安装:
php artisan queue:table
php artisan migrate
.env 文件
QUEUE_CONNECTION=database
创建了队列任务
class FulfillmentTask implements ShouldQueue{
//code here
}
控制器
use App\Jobs\FulfillmentTask;
//rest of the class here
public function somefunction(Request $request){
//some code here
//read csv file
foreach ($fileContents as $row){
FulfillmentTask::dispatch($orderId, $client, $request->sendEmail)->onQueue('database');
}
}
问题是执行 FulfillmentTask 时没有在终端中给出queue:work 命令。
知道为什么会这样吗?
【问题讨论】:
-
你想试试:onConnection('database') 而不是 onQueue('database')?
-
按预期工作。想把它作为答案@KevinBui 吗?
标签: laravel laravel-5 queue laravel-5.8