как пользоваться $queue->run();

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
zemlia-zemlia
Сообщения: 35
Зарегистрирован: 2019.12.05, 20:03

как пользоваться $queue->run();

Сообщение zemlia-zemlia »

Здравствуйте, пытаюсь запустить задачи из вэба.
В консоли все нормально работает, но пользователю
хочется запускать рассылки из вэба.
Делаю как написано в доках

Код: Выделить всё

$queue = Yii::$app->queue;
        $queue->run();
пишет ошибку.

Код: Выделить всё

ArgumentCountError: Too few arguments to function yii\queue\db\Queue::run(), 0 passed in /Users/andrey/Sites/povm2/modules/admin/controllers/MailController.php on line 161 and at least 1 expected in /Users/andrey/Sites/povm2/vendor/yiisoft/yii2-queue/src/drivers/db/Queue.php:74
Пробовал эмпирическим путем бороться. При подставлении в качестве аргумента
любого числа например

Код: Выделить всё

 $queue->run(42);
очереди запускаются, все работает как надо, только yii
виснет после этого наглухо, приходится сервак перезапускать.
yiiliveext
Сообщения: 910
Зарегистрирован: 2019.08.13, 01:49

Re: как пользоваться $queue->run();

Сообщение yiiliveext »

Код: Выделить всё

$queue = Yii::$app->queue;
        $queue->run(false);
zemlia-zemlia
Сообщения: 35
Зарегистрирован: 2019.12.05, 20:03

Re: как пользоваться $queue->run();

Сообщение zemlia-zemlia »

Спасибо!
А что там за параметр? если true то что?
yiiliveext
Сообщения: 910
Зарегистрирован: 2019.08.13, 01:49

Re: как пользоваться $queue->run();

Сообщение yiiliveext »

zemlia-zemlia писал(а): 2019.12.22, 16:32 Спасибо!
А что там за параметр? если true то что?
Запускается в режиме listen (бесконечный цикл). Если true, то вторым параметром передается таймаут опроса очереди (по умолчанию каждые 3 секунды).
zemlia-zemlia
Сообщения: 35
Зарегистрирован: 2019.12.05, 20:03

Re: как пользоваться $queue->run();

Сообщение zemlia-zemlia »

Ааа. Все ясно. Очень помогли. А то нигде в доках особо про запуск с вэба нет.
Ответить