在 Azure 门户上运行 Nodejs Cron 作业脚本

问题描述 投票:0回答:3

我的 Nodejs 应用程序中有一个脚本,需要以特定的时间间隔运行以更新数据库中的某些值。我使用

node-cron
库成功安排此脚本在本地运行,但我一直无法找到合适的方法来让此脚本在将 Nodejs 应用程序部署到 Azure 时按指定的时间间隔运行。任何解决此问题的帮助将不胜感激。

javascript node.js azure cron azureportal
3个回答
0
投票

您可以使用带有计时器触发器的 Azure Functions、Azure 应用服务后台任务、Azure 容器实例来在 Azure 中实现相同的结果。还有其他几种方法可以做到这一点,但它们的设置和维护会更加复杂。

我可能会选择 Azure Function 和计时器触发器。


0
投票

我确实同意@4c74356b41,我们可以为其使用天蓝色计时器触发函数,并且我遵循了Microsoft-Document

@FunctionName("Func1")
public void Func1(
  @TimerTrigger(name = "Func1Trigger", schedule = "0 */5 * * * *") String timerInfo,
      ExecutionContext ctx
 ) {
     // your code
     ctx.getLogger().info("Timer is triggered: " + timerInfo);
}

更改代码后,您可以将其发布到门户中的Azure Functions,然后可以在云中运行它。

或者,您可以使用逻辑应用程序定期执行代码:

在逻辑应用程序中,您可以使用重复触发器:

enter image description here

然后在下一步中,您可以调用函数应用程序来运行它。

enter image description here


0
投票

您正在使用哪个应用程序服务?如果您使用免费套餐,则它不起作用,因为应用程序未运行。 在免费层,应用程序会在有 HTTP 请求时被唤醒,然后在几分钟后停止。

© www.soinside.com 2019 - 2024. All rights reserved.