我在 EC2(不是 ECS)上的 docker 中的本地代理上运行流。Prefect Cloud 配置为提供用于监控的 UI。该流程每 5 分钟执行一次,大约一个小时左右,它运行良好。但是,流程最终落后,在完全无法执行之前,我收到“找不到心跳”错误。
有没有办法连续运行本地代理?为什么会突然停止?
对于这个问题的简单性,我深表歉意,但我是 Prefect 的新手。
干杯
当本地或 docker 代理在容器本身(而不是本地进程)内运行时,您的流运行最终部署为容器,但不是作为单个容器,而是在代理容器内。您实际上有一个单独的代理容器在其自身内启动新容器(docker in docker),这可能会产生许多意想不到的后果,例如规模和资源利用率问题。
为了解决这个问题,我建议将本地代理作为由 supervisord 监控的本地进程运行。此文档页面提供了更多信息。
如果您想要此代理进程的更多环境隔离,您可以在虚拟环境中运行它。