Я создаю механизм на своем веб-сервере, посредством которого запланированное задание будет выполняться каждые 15 минут и уведомлять пользователей, если в течение этого периода времени произошли какие-либо действия. Это будет работать следующим образом:
- Аннотировать с @Scheduled и планировать запуск каждые 15 минут
- Когда задача запускается, очистите базу данных для любых изменений в течение 15 минут текущего времени
Я вижу пару проблем:
- Если мне нужно перезапустить сервер, и он не работает дольше 15 минут, мне нужно оглянуться назад дольше, чем на 15 минут, чтобы не пропустить ни одной операции.
- Я использую несколько серверов Tomcat, и только один из них должен выполнить задачу. В противном случае, дубликаты электронных писем будут отправлены пользователям.
Кто-нибудь имел дело с этим раньше? Я думаю, что это действительно должна быть задача, внешняя по отношению к веб-серверам ... которая решит проблему отправки дубликатов электронных писем, но не решит проблему отказов сервера.
Буду очень признателен за любые идеи о том, как решить!