Добрый вечер. Как лучше организовать следующую задачу. В базе данных хранятся фио, номера телефона, и время удобное для рассылки. Нужно каждый день осуществлять рассылку в индивидуально удобное время.
Идея есть допустим в полночь формировать в отдельной таблицы сообщения со статусом не отправлено, а потом в кроне каждую минуту делать SELECT из этой таблицы и проверять если статус=не отправлено и время < текущего, то отправлять и менять статус. Смущает меня, если вся отправка будет дольше минуты выполняться наверное плохо будет...
Смотрю в сторону celery, rabbitmq не могу понять для этого они или не для этого, может как то там можно очередь сформировать для отправки?
Подскажите какие архитектурные решения можно применить?
Насколько принципиально отправлять сообщения в конкретно взятое время (к примеру, в 08:33:57)? Можно ли направлять сообщения с точностью "плюс-минус час"?
Если можно, то достаточно создать 24 файла вида send_at_0900.txt, в каждый из которых накидать почтовые адреса предстоящей отправки. А потом раз в час пробегать скриптом по требуемому файлу и обеспечивать отправку (как уже писали выше "можно настроить локальный почтовик с лимитами отправки, что бы не заспамить почтовый сервер, ну и обрабатывать отбои писем.").