首页 > 解决方案 > 使用 java/postgres 的计划报告

问题描述

我在我的网络应用程序中有一个表单(它允许给出一个周期、频率、开始日期等。在安排 postgres 查询任务然后发送电子邮件(每周、每月......)的目标中)我想知道安排这些查询的最佳解决方案是什么。

我尝试使用一个简单的 Timer() (有效),但它不会启动新线程并且不会让程序继续。

我阅读了一些关于 spring 的 @scheduled 注释的文章,但我明白我不能从我的表单映射中为注释提供参数。如果有人有想法,非常感谢!阿克塞尔

标签: javaspringpostgresqlscheduled-tasks

解决方案


在 spring 中创建一个调度任务以每 5 秒运行一次,然后让它检查电子邮件是否到期,不要尝试更改调度程序时间,更改逻辑:

@Scheduled(fixedRate = 5000)
public void sendEmails() {
    // add logic here to decide if the email actually has to be sent, if not
    // do nothing
}

不要忘记将@EnableScheduling 添加到您的配置中

@Configuration
@EnableScheduling
public class SpringConfig {
    ...
}

在此处查看示例


推荐阅读