0

我在 Laravel 的队列中使用 iron.io。直到最近,他们都工作得很好。现在像这样的一行代码需要永恒:

$sec = 5*60;
Queue::later($sec, 'MyClass@fire', ['id' => 1]);

MyClass->fire发送一堆电子邮件,所以它几乎就像是在发送电子邮件,而不是向 Iron.io 发送请求。但事实并非如此。我删除了所有代码,MyClass->fire仍然需要大约 30 秒。但是当我注释掉它时,Queue::later(...它运行得非常快。

好像上课出了什么问题Queue。或者我的服务器与 Iron.io 通信的方式有问题。

或者我正在使用的包可能有问题。我知道它真的很旧(我想我正在使用iron_mq v 1.3.0。)所以也许我使用的包与 Iron.io 一起使用的方式发生了一些变化。我会在早上尝试更新它,但这可能会搞砸一切。

有任何想法吗?

4

2 回答 2

0

可能有两个阶段的问题,需要调试.. 1)如果ironmq客户端和服务器的版本相同,如果它们通信方式发生变化(我会说这是最重要的调试) 2)如果调用后者触发ironmq中的队列,是ironmq中收到的呼叫并且需要更长的时间来响应..

于 2016-02-23T16:48:20.350 回答
0

它可能与连接到 IronMQ 集群时的网络问题有关。我检查了两个公共集群(us-east-1eu-west-1)的延迟,现在不到 1 秒。

于 2020-11-16T12:23:56.213 回答