2013-04-25 1 views
1

Так что я пытаюсь получить очередь Pheanstalk, работающую в Laravel 4, которая встроена (мне пришлось создать композитор beanstalkd lib).Beanstalkd/Pheanstalk - Не могу заставить его работать вообще! (WAMP/PHP/LARAVEL)

Теперь это сделано ... я пытаюсь отправить работу своим работникам. Everytime я делаю я получаю эту ошибку

[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 мастеровых: слушать».

Я загрузил консоль для beanstalkd и настроил ее для прослушивания локального сервера: 11300.

Который дает мне ошибку: необработанный ответ.

Я изменил свой httpd.conf и добавил к нему прослушивание 11300 и перезапустил его.

Любые идеи, в которых я ошибаюсь? Я не вижу много документов для Beanstalkd, и документы Laravel тоже не помогут.

Спасибо за любые идеи!

ответ

1

beanstalkd жаль не доступна на Windows,

0

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

В качестве альтернативы использованию Pheanstalk вы можете использовать Redis. Там в шоколадном установить для него:

https://chocolatey.org/packages/redis-64

Вы можете установить в качестве службы Windows, и получить доступ к инструменту командной строки после установки с помощью:

C:\> redis-cli 
    C:\> 127.0.0.1:6379> <your command here> 

Вы могли бы, возможно, использовать что-то вроде навсегда, чтобы сохранить ваш очереди команды работает в фоновом режиме (с автоматической перезагрузкой на неудачу, если это необходимо):

https://www.npmjs.com/package/forever

с использованием команды типа

forever -c php artisan queue:listen -a -l C:\somelogdirectory\somelogfile.txt