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 ответа

Извиняюсь beanstalkd недоступно в Windows

В качестве попытки ответить на старый вопрос законно для любого, кто читает, я предлагаю следующее.

В качестве альтернативы использованию 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
Другие вопросы по тегам