В компании есть система, в которой я только начал работать. Система позволяет клиентам управлять своими абонентскими уведомлениями через SMS. Пользователи входят в систему через веб-приложение и создают сообщения (каждое сообщение имеет дату отправления, номер телефона получателя и т. Д.). Эти сообщения сохраняются в базе данных MySQL. У них также есть Java-приложение, реализованное с использованием jsvc. Это приложение постоянно читает базу данных 24/7 каждую минуту и отправляет сообщения (через API внешнего сетевого провайдера), то есть для самого сообщения, которое должно быть отправлено в это конкретное время.
Меня привели, чтобы переписать все это. В настоящее время я не могу изменить ничего, что касается веб-приложения и базы данных. Я только пытаюсь переписать jsvc, используя vertx.
Я уже написал службу vertx, которая связывается с БД, и другую службу, которая связывается с внешним API.
Я думал о создании периодической функции, которая запускается каждый час (она считывает базу данных и получает все сообщения, которые должны быть отправлены в течение следующего часа), а затем планирует отправку этих сообщений службе, которая связывается с внешним API.
У меня вопрос, как бы я достиг такого планирования? Дата отправки каждого сообщения с точностью до минуты в базе данных. Я смотрю на Перезвон и на то, как его включить, но я не нашел хорошего примера, который бы помог мне узнать правильный способ сделать это.
Итак, как правильно использовать Chime для планирования сообщений eventbus во внешнюю службу API, и есть ли другой способ структурирования этого варианта использования?