Laravel Queue:: Later нужен другой Queue:: Later для запуска

Я установил очередь laravel и использую beanstalkd.

Если я использую Queue::later(), то задание ставится в очередь, но не запускается в указанное время, пока я не отправлю другое задание с помощью Queue::later() после запланированного времени.

Я что-то пропустил в своей настройке, или мои очереди как-то перепутались, если да, то как я могу очистить все и снова заставить его работать нормально.

Я использую настройку, описанную здесь http://fideloper.com/ubuntu-beanstalkd-and-laravel4< /а>

Сервер с проблемой был Ubuntu 12.04.

Я только что установил все это на новый сервер с Ubuntu 13.10, и все работает, как и ожидалось.

Я хотел бы знать, как очередь могла оказаться в таком состоянии и как это исправить. Laravel сообщает об отсутствии неудачных заданий.


person mjhinch    schedule 23.03.2014    source источник
comment
Уверены, что не забыли запустить php artisan queue:listen?   -  person jah    schedule 24.03.2014


Ответы (1)


Та же проблема с Debian wheezy (7.6)

Проблема связана с версией beanstalkd, которая считается стабильной. (v 1.4.6-1 — это одна из версий, с которой я подтверждаю наличие проблемы) Проблема была исправлена ​​в следующей версии, не знаю, какой именно, но обновление вашей версии Ubuntu изменило версию, которая считалась стабильной (и, следовательно, установленная версия) на версию, в которой эта проблема исправлена. Последняя версия на момент написания этого поста — v1.10-1, хотя 1.9-2 также должна быть свободна от этой ошибки.

Так что для тех, у кого есть эта проблема, либо попробуйте обновить свою версию beanstalkd, либо используйте другого поставщика очередей (если вы хотите остаться с локальной службой, лучшим вариантом будет redis).

person Last Rose Studios    schedule 27.09.2014
comment
для записи, выдача Queue::push или Mail::Queue также вызовет невыполненные элементы - person Last Rose Studios; 27.09.2014