计划任务产生太多任务
Scheduled Task Produces Too Many Tasks
在我的一个 ECS 集群中,我有一个计划的 Fargate 任务,该任务旨在启动它的给定目标的 8 个实例。但是,当任务执行时,它会启动 waaayyyy 超过 8 个任务。有时多达 50 个。有谁知道可能导致这种情况发生的原因吗?
详情:
- Cron 表达式:
cron(40 16 ? * 1-5 *)
- 目标定义:
对于将来可能 运行 遇到此问题的任何人:
出现这个问题是因为我们在集群中有太多任务 运行。在撰写此答案时,AWS 在单个集群中设置了 50 个任务的限制 运行ning。在规则触发之前,已经有近 50 个任务 运行ning。该规则将触发并开始启动新任务以达到所需的数量 (8)。
但是,由于限制,它永远无法获得 8 个,因为超过限制的新任务只会被关闭。因此它会不断尝试,不断尝试,并不断尝试启动任务,这导致存在大量待处理的任务队列,这些任务似乎将(几乎)我们所有的任务都推出了集群,我们将只剩下比我们要求的任务多得多。
解决方案:我们只是将计划任务移动到一个新的集群中,以避免 50 个任务的限制。
在我的一个 ECS 集群中,我有一个计划的 Fargate 任务,该任务旨在启动它的给定目标的 8 个实例。但是,当任务执行时,它会启动 waaayyyy 超过 8 个任务。有时多达 50 个。有谁知道可能导致这种情况发生的原因吗?
详情:
- Cron 表达式:
cron(40 16 ? * 1-5 *)
- 目标定义:
对于将来可能 运行 遇到此问题的任何人:
出现这个问题是因为我们在集群中有太多任务 运行。在撰写此答案时,AWS 在单个集群中设置了 50 个任务的限制 运行ning。在规则触发之前,已经有近 50 个任务 运行ning。该规则将触发并开始启动新任务以达到所需的数量 (8)。
但是,由于限制,它永远无法获得 8 个,因为超过限制的新任务只会被关闭。因此它会不断尝试,不断尝试,并不断尝试启动任务,这导致存在大量待处理的任务队列,这些任务似乎将(几乎)我们所有的任务都推出了集群,我们将只剩下比我们要求的任务多得多。
解决方案:我们只是将计划任务移动到一个新的集群中,以避免 50 个任务的限制。