Beanstalkd / Pheanstalk - Не могу заставить его работать на всех! (WAMP/PHP/Laravel)
Поэтому я пытаюсь заставить очередь Pheanstalk работать в Laravel 4, который встроен (мне пришлось композитором установить библиотеку beanstalkd).
Теперь все готово... я пытаюсь отправить работу моим работникам. Каждый раз, когда я делаю, я получаю эту ошибку
[2013-04-25 08:55:03] log.ERROR: exception 'Symfony\Component\Debug\Exception\FatalErrorException' with message 'Error: Maximum execution time of 30 seconds exceeded in C:\wamp\www\adam\L4\vendor\pda\pheanstalk\classes\Pheanstalk\Socket\StreamFunctions.php line 55' in C:\wamp\www\adam\L4\vendor\pda\pheanstalk\classes\Pheanstalk\Socket\StreamFunctions.php:55
Stack trace:
#0 C:\wamp\www\adam\L4\bootstrap\compiled.php(5006): Symfony\Component\Debug\ErrorHandler->handleFatal()
#1 [internal function]: Illuminate\Exception\ExceptionServiceProvider->Illuminate\Exception\{closure}()
#2 {main} [] []
Я также получаю эту ошибку в моем журнале:
exception 'ErrorException' with message 'Catchable Fatal Error: Argument 1 passed to Illuminate\Queue\Jobs\Job::resolveAndFire() must be of the type array, null given
Который, кажется, зацикливается, как только я запускаю 'php artisan queue:listen'.
Я скачал консоль для beanstalkd и настроил ее для прослушивания сервера localhost:11300.
Что дает мне ошибку: необработанный ответ.
Я изменил свой httpd.conf, добавил к нему Listen 11300 и перезапустил.
Любые идеи, где я иду не так? Я не вижу много документов для Beanstalkd, и документы Laravel тоже не помогают.
Спасибо за любые идеи!
2 ответа
В качестве попытки ответить на старый вопрос законно для любого, кто читает, я предлагаю следующее.
В качестве альтернативы использованию Pheanstalk, вы можете использовать Redis. Для этого есть установка Chocolate:
https://chocolatey.org/packages/redis-64
Вы можете установить как службу Windows и получить доступ к инструменту командной строки после установки с помощью:
C:\> redis-cli
C:\> 127.0.0.1:6379> <your command here>
Возможно, вы могли бы использовать что-то вроде Forever, чтобы ваша команда очереди работала в фоновом режиме (с автоматическим перезапуском при сбое при необходимости):
https://www.npmjs.com/package/forever
используя команду как
forever -c php artisan queue:listen -a -l C:\somelogdirectory\somelogfile.txt