我对IronMQ接收到我的队列但未将其解雇这一事实有疑问。
就像我问这个问题:
https://stackoverflow.com/questions/19200285/laravel4-ironmq-queue-are-not-executed

但是我在Iron仪表盘中看到,在我订阅了一个新域之后,便没有将其添加到任何列表中。
IronMQ可能应该显示已订阅域的列表,不是吗?
这可能是我的队列未触发的原因。
我该如何解决这个问题?
谢谢!

最佳答案

我不确定您是否已完成预订队列所需的所有步骤,所以让我们看一下它们:

在文件app / config / queue.php中将队列配置为默认为Iron,设置:

'default' => 'iron',


并配置您的连接:

'iron' => array(
    'driver'  => 'iron',
    'project' => 'YOUR PROJECT NUMBER',
    'token'   => 'YOUR TOKEN',
    'queue'   => 'YOUR QEUE NAME',
),


为队列/接收端点创建路由,并从Queue :: marshal方法返回响应:

Route::post('queue', function()
{

    Log::info('marshal!');

    return Queue::marshal();

});


并测试一下!在服务器外部使用卷曲或类似方法访问它:

curl --data "param1=whatever" http://<your.domain.com>/queue


编辑:您可以复制这整行,然后重新输入您的网址。

打开文件夹中的日志文件:

app/storage/logs/


您应该在此处看到以下内容:

[2013-10-10 10:26:09] log.INFO: marshal! [] []


它是由Log::info('marshal!');生成的,我们已添加到您的元帅路由器中。但是您可能还会看到一个错误消息,说“无效数据。”,忽略它,我们没有进行真正的测试,我们只需要知道您的编组路线是否有效即可。

现在,您可以在IronMQ上为特定队列注册URL:

php artisan queue:subscribe <queue name on IronMQ> <url>


一个例子是:

php artisan queue:subscribe johnnyfittizio http://<your.domain.com>/queue


这是您之前在测试中使用的网址。

此命令必须向您显示:

Queue subscriber added: http://<your.domain.com>/queue


如果不是,则必须再次检查配置,可能是那里做错了。

然后,您可以转到IronMQ的队列页面,并检查您的队列是否已订阅:

1. Go to https://hud.iron.io/dashboard

2. On your projects, click in tue MQ button of your project

3. Select the "Queues" tab

4. Click on your queue name, this must be the same you subscribed to using the command "artisan queue:subscribe"

5.In the "PUSH INFORMATION" box, check if your queue push type is set to "multicast".

6.Check if your queue is subscribed in the "SUBSCRIBERS" box, it's in the page bottom right area.


如果一切都设置好,请再次发送电子邮件(通过队列),然后检查日志以查看是否为“ log.INFO:封送!”。在那里出现。这次必须显示但被IronMQ调用。

如果可以,但是您没有收到电子邮件,则说明队列正在工作,您必须检查电子邮件配置。

08-04 11:40