26 января 2015 г., 16:16 пользователь Ilya Chesnokov <[email protected]> написал: > > И еще - правильно я понял, что в Redis-based решениях (Queue::Q, > Resque с CPAN) воркер должен периодически опрашивать очередь на > наличие новых заданий? > Просто насколько я понял, в RabbitMQ это все делается асинхронно - > вешаем коллбэк на приход сообщения и бесконечно ждем... > (https://github.com/rabbitmq/rabbitmq-tutorials/blob/master/perl/worker.pl) >
Не знаю на счёт этих решиний, но в самом редис всё с этим OK - есть команды типа BLPOP. Про запуске команды клиент ждёт пока в очереди что-то появится, потом моментально разблокируется, без всякого опроса сервера (будет ли выглядеть API как коллбэк - это перпендикулярно). В Rails Resque, Rails Sidekiq, и в очереди REGRU, про которую расскажет Иван Соколов 5 февраля это и используется. Можно самому посмотреть - взять исходник и погрепать blpop, brpop, brpoplpush - если они есть, скорее всего всё ок. -- Moscow.pm mailing list [email protected] | http://moscow.pm.org
