我有一个基于cron计划的.NET员工服务,运行在一个Docker容器中,并被推上。计划是在应用程序本身中管理的。
缩放被设置为在任何时候都有一个最小的1副本运行。
然而,我们发现,由于某种原因,应用程序启动,等待调度触发器大约20-30秒,停止2秒,再次启动和闲置20-30秒,然后在5-6分钟内不再运行。在空闲期间,如果cron计划在进程运行时排队,则作业可能会启动。
有什么方法可以诊断为什么它会自动杀死应用程序呢?
我似乎找不到任何日志显示任何致命的异常或沿着这些路线,并运行在其他环境(本地,Azure容器实例等)。不能复制这种行为。我怀疑这是自动缩放的行为: Azure注意到进程一次空闲20到30秒,然后杀死那个副本,直到5分钟后它才会再次旋转。然而,我似乎找不到任何证据来证明这一理论。
我知道其他资源类型可能更适合(容器实例、应用程序服务、函数),不过目前我只使用了Container。
发布于 2022-06-22 08:52:37
基于这样的问题找出问题的原因:Azure Container Apps Restarts every 30 seconds
结果,Azure试图对其进行健康检查,尽管没有公开HTTP端口。Azure认为容器是不健康的,杀死并重新启动它。关闭HTTP入口(因此也是健康检查)解决了这个问题。
https://stackoverflow.com/questions/72687402
复制相似问题