Хм. Мне не очень нравится идея, что cron запускает что-то каждую секунду. Это кажется слишком часто. Если ваше приложение действительно должно быть таким отзывчивым, то я думаю, что вы должны поддерживать его синхронность. То есть сохраняйте обработку в своем веб-приложении и ищите другие способы снижения уровня нагрузки на сервер.
Если между проверками вы можете подождать дольше, то лучше, чтобы ваша задача cron проверяла очередь на 1 элемент за раз. Если он есть, обработайте его, а затем проверьте еще раз, не выходя из следующего. Если его нет, выйдите и не пытайтесь снова в течение пяти минут или около того.
Однако, несмотря на это, любой порядочный агент пересылки почты (sendmail, postfix, Exchange) будет иметь встроенную очередь. Это, вероятно, сделает лучшую работу, чем вы, чтобы убедиться, что доставка произойдет, когда произойдет неожиданное. При обработке электронной почты, находящейся в очереди, есть над чем подумать. Обычно я предпочитаю передавать исходящую электронную почту MTA как можно раньше.
-
BMB