Как перезапустить запланированный ScheduledTaskRegistrar addTriggerTask - PullRequest
0 голосов
/ 18 июня 2020

Я хочу создать Dynami c Scheduler с БД, и мы можем этого добиться, но мы должны перезапустить или отменить выполнение расписания. Задача, которая выполняется. запустите из Db и удерживайте, а затем в будущем. Время для выполнения этой задачи

Но если someOne изменит время с одной недели на 1 день для планировщика, тогда мы столкнемся с проблемой, которая не выполняется правильным образом, я начну с через неделю (После будущего времени, которое он удерживает)

Итак, мы хотим перезапустить или перенести

, так что есть способ достичь этого

@Configuration
public class SchedulerTaskRunner implements SchedulingConfigurer {

    @Autowired
    private ScheduledTaskInterval notificationScheduledTasks;

    @Autowired
    EventScheduledTasks eventScheduledTasks;


    @Override
    public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
        taskRegistrar.addTriggerTask(
                () -> eventScheduledTasks.eventOpenAndCloseStatusTask(),
                (TriggerContext triggerContext) -> {
                    try {
                        return notificationScheduledTasks.getConfigRefreshValue("demo_task");
                    } catch (ParseException e) {
                        e.printStackTrace();
                    }
                    return null;
                }
        );

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...