Очереди чрезвычайно полезны в ликвидации узких мест в производительных пайплайнах. В данном случае это не трубопровод, а технологическая цепочка, где общая производительность определяется производительностью самого медленного звена. Очередь сообщений, или задач, позволяет как бы организовать перемычку, исключив медленное звено, отложив его задачу на потом, отдельному обработчику (воркеру).
Метка: MemcacheQ
Мой набор опций для MemcacheQ
Пока MemcacheQ не постигла грустная судьба MemcacheDB, это по-прежнему самая простая, самая удобная и самая быстрая очередь сообщений (заданий). Незаменимая вещь для асинхронной обработки. В rc.conf помимо memcacheq_enable=YES: memcacheq_flags = " -s /tmp/memcacheq.sock -a 0777 -H /var/db/memcacheq -d -P /var/run/memcacheq.pid -N -R -L 1024 -B 1024 -u nobody "
Обработчик очереди сообщений (вариант от ruhighload.com)
ruhighload.com — хороший ресурс, там много полезного. Недавно появилась статья Асинхронность на MemcacheQ, вызывающая сомнения в части обработки очереди. Глядя на такой код, запускаемый из CLI: