java - 有什么方法可以在从 PostgreSQL 数据库表获取的给定日期时间从 Spring Boot 自动调用函数吗?

标签 java postgresql spring-boot maven spring-data-jpa

使用 Spring Boot、JPA、Angular、PostgreSQL

想要在从数据库获取的特定日期和时间自动运行该流程,并相应地更新数据库中的状态

目的:我们提供15天的免费注册,假设用户在12月13日13:05注册,那么服务器应该从12月27日13:05开始停止该用户的所有进程。

如何在 12 月 27 日 13:05 自动从 Spring Boot 调用我的函数(在 PostgreSQL 数据库表中可用)

我也尝试过使用 @Scheduled 注释的调度程序,但它在给定的时间间隔后运行。

请建议或暗示实现此功能的任何方法。

最佳答案

我看到三个选项:

  • 配置 Spring 调度。
  • 使用轮询。
  • 构建您自己的调度程序(我不会)。

配置 Spring 调度

您可以实现 SchedulingConfigurer 并相应地使用提供的 ScheduledTaskRegistrar

您应该能够使用 addCronTask 添加新的 cron 任务或者可能使用 setCronTask 刷新所有内容。

不过我自己还没有尝试过;-)

使用轮询

如果这不起作用,您可能会使用 select min(next_job_date) from jobs; 进行轮询,以查找下一个作业并在准备就绪时启动它。

关于java - 有什么方法可以在从 PostgreSQL 数据库表获取的给定日期时间从 Spring Boot 自动调用函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59318364/

相关文章:

postgresql - 为什么在将 .csv 导入我的数据库时得到 "extra data after last expected column'?

MySQL 队列事务

java - PHP-中间件

java - 如何根据每个请求配置 JAX-RS MessageBodyWriter?

ruby-on-rails - 在 Rails 中处理大量查询

postgresql - 无法连接到端口 5432 上的服务器(PostgreSQL - CentOS 7.4)

java - Kubernetes 上微服务之间集群间通信的最佳方式?

java - 在 spring boot 中渲染 JSP 的问题

java - 通过 Java 应用程序从内部调用命令行工具

java - Vaadin 8.1 RC1 TreeDataProvider、TreeData (getParent)、HierarchicalQuery