所以我试图让Pheanstalk queue在Laravel 4中工作,它是内置的(我不得不composer安装了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的文档也没有帮助。
谢谢你的任何想法!
发布于 2013-06-06 17:16:52
抱歉,beanstalkd在Windows上不可用
发布于 2016-05-23 22:05:20
为了给任何阅读的人合理地回答一个古老的问题,我提出了以下建议。
作为使用Pheanstalk的替代方案,您也许可以使用Redis。它有一个巧克力般的安装:
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.txthttps://stackoverflow.com/questions/16210877
复制相似问题