【发布时间】:2020-09-21 16:15:29
【问题描述】:
我想设置一个 ECS 任务来安排其他各种应用程序任务。
此任务将安排的“任务”主要涉及在另一个负载平衡服务中调用 restful 端点。
我知道还有其他方法可以做到这一点,使用 cloudwatch 触发 lambda 等。但是这对于我的需要来说似乎过于复杂。
我打算只用一个 crontab 制作一个非常简单、轻量级的基于 apline 的图像来触发 restful 调用。
这一切似乎都很容易。我唯一担心的是,我想尽可能地防止该任务的多个实例运行,即使只是很短的一段时间。
如果我的 CI/CD 管道触发了对此 cron 任务的更新,那么可能会有一小段时间,新旧任务将同时运行。
因此,一个 cron 任务被触发两次的可能性很小。
我想做的是让 ECS 在尝试启动新任务之前完全停止当前正在运行的任务。
这似乎与它想要的正常工作方式相反,它会确保新任务已启动,并且在停止旧任务之前运行良好。
这可能吗?如果可以,我该如何配置?
如果我的 crons 有一段时间没有运行,这不是问题,但如果任何一个被多次触发,则可能是一个问题。
【问题讨论】:
标签: amazon-ecs