ruhighload.com — хороший ресурс, там много полезного. Недавно появилась статья Асинхронность на MemcacheQ, вызывающая сомнения в части обработки очереди.
Глядя на такой код, запускаемый из CLI:
while ( true )
{
if ( $m = memcache_get($memcache_obj, 'mails') )
{
foreach ( $list as $email )
{
mail($email, 'Test', $m);
}
}
}
Хочется спросить — что, правда?! И вы так у себя на production делаете? Вот прямо так?
То есть — постоянный цикл, беспрерывно опрашивающий tcp/ip сокет? Хм.
Может быть все же вставить пятисекундный sleep? А еще лучше сделать общение с очередью через long polling с тридцатисекундным таймаутом.