0

我在 Laravel 5.1项目上设置 LaravelQueueRabbitMQ 插件时遇到问题。这是插件的存储库:

https://github.com/vladimir-yuldashev/laravel-queue-rabbitmq/tree/v5.1

我已经安装了包,将所需的服务提供者添加到 app.php 文件中,配置了 queue.php 文件并将相关条目添加到我的 .env 文件中以指向我的 RabbitMQ 服务器。

但是,当我尝试排队这样的工作时

$this->dispatch(new TestQueue);

我收到以下错误:

StreamIO.php 第 212 行中的 FatalErrorException:

超过 30 秒的最大执行时间

经过一些调试,问题出现在connect()方法中的 AbstractConnection.php 文件中。具体来说,第 205 行是脚本停止并导致最大执行时间的地方。

奇怪的是,我在同一台 PC 上运行了另一个 Laravel 项目,该 PC 运行在5.2版本上。它使用相同的 LaravelQueueRabbitMQ 插件,但使用的是 5.2 版本,而且效果很好 - 作业会立即出现在队列中。

我的想法不多了,我还没有看到其他人有类似的问题。谁能指出我正确的方向?

4

1 回答 1

2

我遇到了同样的问题,并且在 StreamIO.php 文件中遇到了超时。

首先要检查 queue.php 文件或 .env 文件中的默认驱动程序是否设置为 rabbitmq(如果它是在此处定义的)。然后,如果您使用的是缓存配置运行:

 php artisan cache:clear

清除缓存,然后:

php artisan config:cache

重置缓存。

如果这不起作用,您还可以通过打开 RabbitMQ 命令提示符并使用以下命令尝试重新启动 rabbitmq 应用程序:

rabbitmqctl stop_app

其次是

rabbitmqctl start_app

重新启动是为我解决了错误的原因。希望这可以帮助 :)

于 2017-01-04T09:37:27.257 回答