Php 为什么在分派和运行artisan queue:work时,laravel事件也存储在jobs表中?

Php 为什么在分派和运行artisan queue:work时,laravel事件也存储在jobs表中?,php,laravel-5,events,queue,Php,Laravel 5,Events,Queue,我创建了一个调用artisan命令ImportScript的作业CallImportScript。在这个ImportScript中,我有一个触发UpdateConlog的事件,基本上是为了显示日志。问题在于,当工作线程执行队列时,它还将updateConlog存储在jobs表中 CallImportScript.php public function handle() { Artisan::call("ImportScript"); } //some loop for() {

我创建了一个调用artisan命令ImportScript的作业CallImportScript。在这个ImportScript中,我有一个触发UpdateConlog的事件,基本上是为了显示日志。问题在于,当工作线程执行队列时,它还将updateConlog存储在jobs表中

CallImportScript.php

public function handle()
{
    Artisan::call("ImportScript"); 
}

//some loop
for() {
    //ongoing process in the database

    // need to trigger the event after database process
    event(new UpdateCronlog('some string'));
}
ImportScript.php

public function handle()
{
    Artisan::call("ImportScript"); 
}

//some loop
for() {
    //ongoing process in the database

    // need to trigger the event after database process
    event(new UpdateCronlog('some string'));
}

问题是它不会立即调用事件,而是转到jobs表。这就像它也是一个问题。

检查你的.env文件。您为队列连接设置了什么?如果它试图写入作业表,则可能是数据库。将其设置为“同步”将无法执行此操作。阅读队列驱动程序,选择项目所需的驱动程序。根据您的需要,Redis也是一个选项。希望这有帮助:)