我一直在使用 Laravel 框架,最近刚刚开始使用 Laravel 内置的 IronMQ 支持来实现队列。
从 Laravel文档中可以很容易地了解如何将消息推送到队列,然后在Iron.io上设置订阅者并将队列推送到这些订阅者。但是我想将 IronMQ 用作拉取队列。我没有看到任何关于如何使用 Laravel 的内置方法从指定队列中提取消息的迹象。
在 IronMQ 站点上,他们列出了所有与拉取队列实施相关的端点。
前任:/projects/{Project ID}/queues/{Queue Name}/messages
在 Laravel 的 IronMQ 包中,我看到了似乎适用于这些端点的方法:
/**
* Peek Messages on a Queue
* Peeking at a queue returns the next messages on the queue, but it does not reserve them.
*
* @param string $queue_name
* @return object|null message or null if queue is empty
*/
public function peekMessage($queue_name) {
$messages = $this->peekMessages($queue_name, 1);
if ($messages == null) {
return null;
} else {
return $messages[0];
}
}
但是,我没有看到 Laravel 对此有任何支持。我希望能够按照以下方式做一些事情:
$message = Queue::peek();
它将从指定队列返回下一条消息,等等。
有没有办法通过 Laravel 的内置支持来做到这一点,但没有记录在案?
谢谢!
编辑:
我已经看过有关通过 Laravel 使用Daemon Workers的文档,但是我想通过 cron 作业自己处理队列。