Мне нужно обновлять некоторые пользовательские записи в моей базе данных каждый месяц (в частности, давать им кредиты, которые принадлежат их подписке), начиная со дня их регистрации.Я думал сделать это следующим образом:
Один раз в день ...
- Найти всех пользователей, которые были обновлены месяц назад (или более, в случае сбоя процесса длядень)
- Обновить их
- Увеличить день их последнего обновления на месяц
Звучит просто, но проще, чем есть.Проблема в том, что месяцы не всегда имеют одинаковое количество дней.Например, если кто-то подписывается 31 марта, когда он должен быть обновлен?30 апреля, 1 мая?Или я должен просто ограничить диапазон дней обновления самым низким общим диапазоном, 28?Конечно, я мог бы просто сделать это 1-го числа для всех, хотя это и не так идеально.
Есть ли у вас опыт, которым можно поделиться с подобными ситуациями?Я использую MySQL 5 из Java + JPA + Hibernate.Если это поможет, я уже использую JodaTime для чего-то другого.