Обработчик очереди сообщений (вариант от ruhighload.com)

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 с тридцатисекундным таймаутом.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *