Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 在Azure上运行节点计划程序应用程序_Node.js_Azure_Azure Web App Service - Fatal编程技术网

Node.js 在Azure上运行节点计划程序应用程序

Node.js 在Azure上运行节点计划程序应用程序,node.js,azure,azure-web-app-service,Node.js,Azure,Azure Web App Service,我已经编写了一个节点应用程序,它本质上是一个任务调度器(或cron),使用节点调度在设定的时间间隔上运行批处理过程。当我在本地或虚拟机上运行此程序时,进程将持续运行并执行我的作业,直到进程被强制终止。当我将此应用程序作为Azure应用程序服务部署到Azure时,该进程更多地被视为一个“Web应用程序”,并且在站点上经过一段时间的不活动(即没有Web流量)后,Azure会终止该进程。如果我通过浏览器访问“站点”,它会再次启动 Azure似乎与基于express的“web应用”的节点应用绑定在一起,

我已经编写了一个节点应用程序,它本质上是一个任务调度器(或cron),使用节点调度在设定的时间间隔上运行批处理过程。当我在本地或虚拟机上运行此程序时,进程将持续运行并执行我的作业,直到进程被强制终止。当我将此应用程序作为Azure应用程序服务部署到Azure时,该进程更多地被视为一个“Web应用程序”,并且在站点上经过一段时间的不活动(即没有Web流量)后,Azure会终止该进程。如果我通过浏览器访问“站点”,它会再次启动


Azure似乎与基于express的“web应用”的节点应用绑定在一起,据我所知,没有一种方法可以可靠地部署我的命令行应用。我是否遗漏了什么,或者是否有更好的方法通过Web App或其他产品在Azure中部署此应用程序?我真的不想为了这个目的而维护VM

对于空闲超时的直接问题,有一个简单的配置,称为“始终打开”。看看这里的链接-

一直开着。默认情况下,如果web应用闲置一段时间,则会卸载它们 一段时间。这让系统节省了资源。基本还是 在标准模式下,您可以启用“始终打开”以保持应用程序始终处于加载状态 时间如果您的应用程序运行连续的WebJobs或运行WebJobs 使用CRON表达式,应该启用始终打开或web作业 可能无法可靠运行

此外,请参阅此处的成本影响讨论-

现在,应用程序服务是否是解决您的任务调度问题的最佳解决方案,是一个更加主观和长期的讨论,您需要评估Azure的多个产品以及您的需求/优先级等

Azure有自己的任务调度服务-

从Azure Portal配置调度程序作业非常简单。你可以:

  • 调用http/https端点(隐式地为您提供多种解决问题的方法)。可以使用basic、certificate或AzureAD OAuth客户端凭据进行身份验证)
  • 将消息发送到存储队列或服务总线队列/主题,然后其他进程可以适当地处理这些消息
  • 如果这些Azure调度器功能还不够,您需要更多的参与,下面是一些关于后台作业最佳实践文档的指导-