Laravel Homestead queue: очередь прослушивания: работа только для обработки 1 работы за раз - PullRequest
0 голосов
/ 11 декабря 2018

Привет, похоже, проблема с моей очередью на ферме Ларавелла.Work и Listen обрабатывает 1 очередь за раз. Есть ли способ запустить ее один раз и обработать всю очередь в таблице заданий?

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 голосов
/ 20 декабря 2018

У меня была эта проблема несколько дней назад, проблема была в ошибке сервера, которая не сообщала мне, где проблема.Ваша очередь работает нормально. Сбой при возникновении ошибки в вашем коде.Означает, что ваше первое событие работает нормально, но для второго оно не проходит.

Попробуйте отладить свою бизнес-логику, а не очередь, это также не проблема Homestead.

Дайте нам знать.

0 голосов
/ 14 декабря 2018

Если вы используете supervisor для управления работником очереди,

configure numprocs=8

В этом примере директива numprocs будет указывать Supervisor запуск 8 очередей: рабочие процессы и мониторинг всехиз них.

Вот больше информации об этом, https://laravel.com/docs/5.7/queues#supervisor-configuration

...