进入RUNNING状态后自销毁AWS ECS任务

时间:2020-01-21 12:16:07

标签: amazon-web-services amazon-ecs amazon-cloudwatch

我将ECS任务设置为CloudWatch Event规则的目标,该规则在以下S3事件模式下调用。

该规则在S3存储桶中的PUT操作上调用OK,然后启动设置为其目标的ECS任务。

任务进入RUNNING状态...并保持RUNNING状态直到停止。我使用CLI停止任务。此外,此任务也不是ECS服务的一部分,而是旨在执行特定任务的独立任务。

在Task达到RUNNING状态之后,是否有办法自毁它并且可以正常工作?我可以等待30分钟甚至几个小时……但是最终任务需要自行停止。

当有1000个S3 PUT操作调用CloudWatch规则(依次启动1000个任务)时,这变得特别难以管理。我正在寻找以某种方式停止这些任务,使其达到“运行”状态并完成预期的工作。

有什么建议吗?

Cloud Watch Event Rule that has teh ECS Task set as a target

1 个答案:

答案 0 :(得分:1)

如果您真的必须坚持自己的工作,那么一旦以Docker容器运行的应用程序达到某个阶段,就应该调用另一个lambda函数来停止任务。不过要小心集成地狱!

AWS Lambda and Batch service应该可以更好地处理您要尝试执行的操作。您可以指定要运行的docker映像,一旦操作完成,退出docker进程。

请参阅:https://medium.com/swlh/aws-batch-to-process-s3-events-388a77d0d9c2