我的 Nodejs 应用程序中有一个脚本,需要以特定的时间间隔运行以更新数据库中的某些值。我使用
node-cron
库成功安排此脚本在本地运行,但我一直无法找到合适的方法来让此脚本在将 Nodejs 应用程序部署到 Azure 时按指定的时间间隔运行。任何解决此问题的帮助将不胜感激。
您可以使用带有计时器触发器的 Azure Functions、Azure 应用服务后台任务、Azure 容器实例来在 Azure 中实现相同的结果。还有其他几种方法可以做到这一点,但它们的设置和维护会更加复杂。
我可能会选择 Azure Function 和计时器触发器。
我确实同意@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,然后可以在云中运行它。
或者,您可以使用逻辑应用程序定期执行代码:
在逻辑应用程序中,您可以使用重复触发器:
然后在下一步中,您可以调用函数应用程序来运行它。
您正在使用哪个应用程序服务?如果您使用免费套餐,则它不起作用,因为应用程序未运行。 在免费层,应用程序会在有 HTTP 请求时被唤醒,然后在几分钟后停止。