我有一个在Azure免费网站上运行的NodeJS服务器。服务器安装了websocket模块。每个连接的用户都将使用对象缓存一些数据,以便连接的任何其他人都可以从此对象中检索缓存的数据。我遇到的问题是服务器似乎没有长时间保持这个对象。我可以使用in访问数据一段时间,但如果我在当天晚些时候尝试,它就会消失。
Azure是否因为没有活动而关闭服务器,导致该对象被取消分配?如果在一段时间后没有使用它们,NodeJS会解除分配对象吗?
答案 0 :(得分:1)
使用基本/标准层网站,您可以启用始终开启。您会在配置标签下看到此选项:
启用此功能后,您的网站应保持加载状态。
答案 1 :(得分:0)
是的。如果对应用程序池没有任何请求,Azure网站将停止您的应用程序。这意味着内存中的任何东西都会丢失您可以设置cron作业或计划任务来ping您的Web应用程序,以避免应用程序池由于不活动而超时。
编辑:或者,正如David Makogon指出的那样,
使用基本/标准层网站,您可以启用Always On。您将在Configure选项卡下看到此选项: