2

所以我试图让 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 文档也没有帮助。

感谢您的任何想法!

4

2 回答 2

2

抱歉beanstalkd在 Windows 上不可用

于 2013-06-06T09:16:51.610 回答
0

为了尝试为任何阅读的人合法地回答一个老问题,我提出以下建议。

作为使用 Pheanstalk 的替代方案,您也许可以使用 Redis。有一个 Chocolatey 安装:

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
于 2016-05-23T14:05:20.090 回答