Laravel Homestead队列:收听和排队:一次只能处理1个工作

时间:2018-12-11 15:20:37

标签: laravel queue jobs homestead

嗨,我在laravel宅基地的排队似乎有问题。 工作和侦听进程一次只能有一个队列,是否有办法使它一次运行并处理作业表中的所有队列?

enter image description here

这是我的代码:

DB::beginTransaction();
    try {
        $model_data = $this->transformCsvDataToModelData($this->csv_data, $this->data['file_columns'], $this->data['table_columns'], $this->data);
        $dynamic_list_model = new DynamicDataList();
        $dynamic_list_model->setTable($this->list->table_name);
        $dynamic_list_model->insert($model_data);
        $this->notify($this->data['user']->id, [
            'title' => 'Data list upload successful',
            'message' => 'Batch ' . ($this->index + 1) . ' data list upload done.'
        ], 'success');
        DB::commit();
    } catch (Exception $exception) {
        DB::rollBack();
    }

2 个答案:

答案 0 :(得分:0)

如果您正在使用主管来管理队列工作器,

配置numprocs=8

在此示例中,numprocs指令将指示Supervisor运行8个queue:work流程并监视所有流程。

这是有关它的更多信息,https://laravel.com/docs/5.7/queues#supervisor-configuration

答案 1 :(得分:0)

几天前我遇到了这个问题,问题是服务器错误,没有通知我问题出在哪里。您的队列工作正常,当代码中发生错误时,它将失败。意味着您的第一个事件运行良好,但第二个事件失败。

尝试调试业务逻辑而不是队列,这也不是Homestead的问题。

让我们知道。