spring不同用户设定的不同时间自动开机调用方式

spring boot calling method automatically at different times set by different users

我在想办法运行一个方法在不同用户设定的特定时间,让我解释一下!

假设我们有 2 个站点:siteA 和 siteB,这些站点分别有管理员:adminA 和 adminB。

每个管理员都可以创建一个工作计划,在其中启动他站点中的 rabbitmq 队列。
现在,每个管理员都手动启动他的队列。

我想要的是,举个例子:
adminA 创建了从 08:00 到 18:00
的工作时间表 adminB 创建了从 09:00 到 17:30

的工作时间表

我希望启动站点队列的方法在该站点管理员指定的时间执行,因此:
queueA1、queueA2、queueA3...在 08:00
发布 queueB1、queueB2...在 09:30

发布

假设名为 launchQueues(String siteId)

的方法

我了解了@Scheduled,但似乎只有在我想在固定时间调用方法时才适用

您可以有一个普通作业,它被安排为每 n 分钟 运行。这个作业可以在那个时间间隔找到任何需要启动的队列然后启动它。

例如此作业每 5 分钟安排一次。

在 9:00 am,findQueuesToLaunch() 方法将找到需要在 9:00am 而不是 运行ning 启动的队列。

@Scheduled(cron = "0 0/5 * * * ?") public void launchQueue() {

List<String> queues = findQueuesToLaunch();

for (String queueId in queues) {
  launchQueue(queueId);  
}

}