2013-09-28 1 views
0

Я использую Laravel 4 + Beanstalk + Supervisor на CentOS 6 VPS.Laravel 4 Queue - [InvalidArgumentException] В пространстве имен «queue» нет команд, определенных

Было уже больно установить как beanstalk, так и супервизор на VPS, но я прошел через него (я сделал эту же установку на своем локальном сервере, Macbook Pro, и там там отлично работает).

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

php artisan queue:listen --env=production 

, но процесс, связанный к тому, что не запустится успешно. Журнал я определил для этого процесса выводит следующее:

[InvalidArgumentException] 
There are no commands defined in the "queue" namespace. 

Таким образом, очевидно ремесленник находит что-то, что не нравится вообще.

ПОЖАЛУЙСТА,, не могли бы вы мне помочь? Только результаты, которые я нашел в Google, - это без ответа git issue post, а также бесполезная нить без ответов на форумах Laravel.

Edit: Тестирование Я заметил, что очереди ремесленника: слушать работает хорошо, когда управляют мной в оболочке, но когда Supervisord пытается выполнить команду, то InvalidArgumentException происходит.

ответ

2

Решение в моем случае, если кто-нибудь из вас когда-либо сталкивался с этим вопросом, было следующее:

Я имел supervisord версии 2.1 установлен (через пип). Мне нужно было, по крайней мере версии 3.0 (поскольку параметр «каталог» (используемый в файле supervisord.conf) была введена в версии 3.0.

мне пришлось

pip uninstall supervisor 

Тогда я должен был

pip install supervisor==3.0 

После этого я просто должен был установить требуемые значения конфигурации в /etc/supervisord.conf, и мой artisan был запущен queue:listen без проблем.

0

У меня была аналогичная проблема, и получил мой ответ на вопрос, который я отправил, что работал для меня:

Supervisord makes my Laravel queue:listen throw InvalidArgumentException

Вместо того чтобы делать:

[program:lvcartsey] 
command=php artisan queue:listen --env="local" 
stdout_logfile=/home/mike/web/app/storage/logs/myqueue_supervisord.log 
redirect_stderr=true 
directory=/home/mike/web 
;autorestart=true 
;autostart=true 
user=mike 

в supervisor.conf я заменил команду с:

command=/usr/local/bin/php artisan queue:listen --env="local"