Я работаю над выполнением задания cron на Java. Я хочу запускать определенную задачу каждую неделю, месяц, три месяца, шесть месяцев и девять месяцев.
public Interface interfaceA {
public String abc() throws Exception;
}
public class TestTaskA implements interfaceA {
@Override
public String abc() throws Exception {
// some code
}
}
Я запускаю это так -
TestTaskA testTaskA = new TestTaskA();
testTaskA.abc();
Я хочу запускать TestTaskA
каждую неделю, каждый месяц, каждые три месяца, каждые шесть месяцев, каждые девять месяцев и не хочу запускать задачу с 8 вечера до 5 утра. Любой случайный день тоже подойдет.
Теперь, если я запускаю TestTaskA
каждую неделю, он должен распечатать one-week
и report_week
, а если он работает каждый месяц, то он должен распечатать one-month
и report_one_month
. Аналогично для трех месяцев, шести месяцев и девяти месяцев.
Как лучше всего это сделать? Имея в виду, у меня также могут быть TestTaskB и TestTaskC, которые я должен запускать каждую неделю, месяц, три месяца, шесть месяцев и девять месяцев.
Могу ли я использовать ScheduledExecutorService
для этого? Любой простой пример мне очень поможет.