【问题标题】:Spring Boot, perform scheduled method on Heroku free planSpring Boot,在 Heroku 免费计划上执行预定方法
【发布时间】:2021-12-08 23:05:05
【问题描述】:

您好,我的 Spring Boot 应用程序部署在 Heroku 免费计划上,这里的主要限制是应用程序空闲时不使用,这是本主题的线索。

假设我想要一个带有 @Scheduled 注释的代码在每天凌晨 3 点执行,但很可能我的应用此时将处于空闲/休眠状态。问题是这个方法是否会运行并知道它需要从睡眠中唤醒并在特定时间运行一个方法?

如果不是,您会建议什么解决方法?

提前谢谢你!

【问题讨论】:

    标签: java spring-boot heroku


    【解决方案1】:

    您的应用程序将在凌晨 3 点处于空闲状态(假设没有交互并且应用程序处于空闲状态)。然后计划的代码根本不运行。

    据我所知,如果没有与应用程序交互,应用程序将在 30 分钟后空闲(使用 heroku 的免费计划)。

    我假设您的 Spring Boot 应用程序有一个端点。所以定义一个逻辑,每 30 分钟调用一次应用程序自己的端点。当应用程序启动时,调度程序将开始工作。因此,您可以保证应用程序始终运行。

    【讨论】:

    • 感谢您的回答。我已经尝试过类似 ping 的方法,并且在超过工作时间/月之前一直在工作(保持应用程序处于活动状态)。然后我收到一封电子邮件,说我的应用程序由于这个限制而无法运行。
    猜你喜欢
    • 2019-02-10
    • 1970-01-01
    • 1970-01-01
    • 2021-11-18
    • 2021-11-20
    • 1970-01-01
    • 2014-07-08
    • 2022-12-16
    • 2020-06-30
    相关资源
    最近更新 更多