如何动态启动工作

问题描述

我有一个服务器和一个表,我当前的定时作业是在一个类中启动的,在该类中,我使用 @Schedule 注释对不同的方法进行了注释。

现在我有另一种形式的定时作业,其中应在可定义的时间间隔内将不同的请求发送到服务。因此,用户可以选择每 5 分钟或每小时或每天一次。我会列出一个有效间隔的列表,这样就不会有像每 38 分钟这样的值。

所以这个新的计时器必须在某个工作必须完成的时间间隔内查看表,然后调用函数从服务中获取数据。 如果不为“下一次运行”之类的内容创建新列,这可能吗?以及同时运行的计时器(例如每小时 5 分钟和每天同时运行一次的计时器)怎么样。

解决方法

我不会添加“下一次运行”列,而是添加一个新表来记录每个作业的运行时间。这样,当您的 Service Worker 运行时,它可以检查配置的运行间隔到最后一次运行时间。