Laravel Pull Queue

Я использую фреймворк Laravel и совсем недавно приступил к реализации очередей со встроенной поддержкой Laravel для IronMQ.

От Ларавела документация достаточно просто увидеть, как отправить сообщения в очередь, а затем включить Iron.io установить подписчиков и выдвинуть очередь для этих подписчиков. Однако я хочу использовать IronMQ в качестве очереди Pull. Я не вижу никаких признаков того, как вытащить сообщение из указанной очереди, используя встроенные методы Laravel.

На сайте IronMQ перечислены все конечные точки, связанные с реализацией очереди Pull.

Пример: /projects/{Project ID}/queues/{Queue Name}/messages

В пакете IronMQ для Laravel я вижу методы, которые работают с этими конечными точками:

/**
* 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, однако я хочу обработать очередь самостоятельно через задание cron.

1

Решение

Вы можете попробовать использовать класс IronMQ вместо класса очереди laravel:

$ironmq = new \IronMQ(array(
'token' => Config::get('queue.connections.iron.token', 'xxx'),
'project_id' => Config::get('queue.connections.iron.project', 'xxx')
));
$ironmq->getMessage($queue_name);

IronMQ PHP lib

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]