- записать задание в таблицу базы данных (простая таблица, без JMS)
- прочитать пакет заданий из базы данных с помощью метода @Scheduled (заблокировать его в базе данных, чтобы гарантировать только однократную обработку)
- обработать задание(я) (отметить их как успешные, или он будет повторен позже)
Я хотел бы добиться одновременной работы над таблицей заданий без планировщиков или пакетной обработки. Если в таблице есть задание, оно должно быть обработано, как только оно станет доступным, если экземпляр (это приложение Spring-Boot, управляемое Kubernetes, которое можно масштабировать) приложения простаивает. Если работы нет, приложение может перейти в спящий режим на указанное время.
Какие решения рекомендуются для этой цели? Есть ли закономерность, которая решает эту проблему и которую следует принять во внимание?
Мобильная версия