Как я могу получить список всех работ в трубочном бобе? - PullRequest
23 голосов
/ 23 января 2011

На моем сервере установлен beanstalk и выполняется следующее:

$ telnet localhost 11300
use my_tube
USING my_tube
peek-ready
FOUND 11065 41
{"ts":1295537419,"data":{"nid":"212156"}}

Теперь мой вопрос: как мне получить список всех заданий в очереди; что-то вроде peek-all?

1 Ответ

31 голосов
/ 23 января 2011

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

В конечном счете, BeanstalkDявляется очередью, а не массивом, и не предназначена для обеспечения доступа к каждому элементу в ней - она ​​возвращает следующий элемент для работы.

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

...