Jay*_*ore 8 amazon-ecs aws-fargate
我有一个批处理,用 PHP 编写并嵌入到 Docker 容器中。基本上,它从多个 Web 服务加载数据,对数据进行一些计算(在 ~1 小时内),并将计算出的数据发布到另一个 Web 服务,然后容器退出(如果正常,返回代码为 0,如果进程某处失败则返回 1 )。在此过程中,一些日志会写入 STDOUT 或 STDERR。该批次必须每天触发一次。
我想知道用于调度、执行和监控我的批处理的最佳 AWS 服务是什么:
现在,深入 Fargate,我希望每天执行一次任务。
当我使用ECS的计划任务功能时,它似乎工作正常:容器按时启动,进程运行,然后容器停止。但 CloudWatch 缺少一些指标:未报告 CPUReservation 和 CPUUtilization。此外,无法知道批处理是否以退出代码 0 或 1 退出(所有执行都以“STOPPED”状态停止)。因此,如果容器执行失败,我无法发送 CloudWatch 警报。
我使用 Fargate 的“服务”功能,但它无法处理批处理,因为容器每次停止时都会启动。这是正常的,因为容器没有任何守护进程。无法安排服务。我希望我的容器仅在需要工作时才处于活动状态(每天一次,最多 1 小时)。但 CloudWatch 中会正确报告丢失的指标。
以下是我的问题:每天触发一次容器、让它运行以完成其任务并具有报告工具来跟踪执行情况(CPU 使用率、批处理持续时间),包括警报 (SNS) 的最合适的 AWS 托管服务是什么?任务失败?
| 归档时间: |
|
| 查看次数: |
5537 次 |
| 最近记录: |