我尝试使用 newSingleThreadScheduledExecutor 安排一个执行器,它在 10 天(从系统初始化开始)、20 天(从系统初始化开始)和每个月的 1 天后发送报告。我尝试使用每天运行的 newSingleThreadScheduledExecutor 并检查今天是否在 10 天之后.. 20 天等等。但是,我认为我们有一个更优雅的方法来解决这个问题。您知道如何改进我的代码吗?
调度器:
scheduler.scheduleWithFixedDelay(() -> {
try {
createReport();
} catch (Exception e) {
log.error("Error to create engagement report", e);
}
}, 1, 1, TimeUnit.DAYS);
在 createReport 函数上 - 我检查日期。
谢谢!