2015-03-06 2 views
0

Я работал с потребителем из crontab и обрабатывал все сообщения один за другим, есть ли способ использовать только 10 или 20 сообщений, а затем останавливаться на потребителе.Как остановить Rabbitmq Consumer после обработки 10 сообщений?

Так что в следующий раз cron вызовет потребителя, и тот же процесс снова повторится.

+0

@ Правильный ответ Vor. Возможно, вам захочется пересмотреть, подходит ли вам кролик, если это ваш предполагаемый прецедент. – jhilden

ответ

4

Вы можете использовать синхронный метод basic.get. Оберните его в for loop или добавьте сортировку счетчика. И довольно приложение, как только вы достигнете желаемого номера.

Этот метод обеспечивает прямой доступ к сообщениям в очереди с помощью синхронный диалог, который предназначен для конкретных видов применения , где синхронное функциональность важнее производительности.

+0

работает только на неподтвержденные сообщения в очереди, о готовых сообщениях или общих сообщениях в очереди? как получить этот счет? – Avinash

+0

Im using code $ this-> count = $ channel-> basic_get ('queue', false); он дает мне сообщение count = 0, а очередь содержит сообщения в состоянии готовности – Avinash

+0

сделано, используется api - http: // user: pass @ localhost: 15672/api/queues /% 2f/QueueName – Avinash