2016-11-02 8 views
0

Я хочу создать простую систему очередей с Redis, не полагаясь на pub/sub. Поэтому мой потребитель (Nodejs) будет называть BRPOP в списке, ничего необычного.Redis queue: вызов BLPOP/BRPOP внутри цикла?

Вопрос заключается в том, чтобы полностью и исключительно полагаться на поведение блокировки нет тайм-аута BRPOP --meaning он будет блокировать соединение на неопределенное время, пока событие не будет нажата в list-- или вызвать BRPOP внутри цикла, с короткий тайм-аут.

Каковы были бы преимущества и недостатки обоих решений? Например, может быть проблема с длинным блокирующим соединением/процессом?

ответ

0

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