如何一次性运行计划的 AWS Fargate 任务?

问题描述 投票:0回答:1

对于我正在构建的系统,我通过 python cdk 设置了一个 AWS 计划的 Fargate 任务。该任务每小时启动一次,并从某个外部端点检索过去一小时的事件以进行进一步处理。这个计划任务效果令人满意。

现在,我还希望能够按需运行此任务。这将用于初始加载,其中要检索(远)超过一小时的事件数据,或者用于当计划的任务因任何原因失败时的纠正加载。这些可能不需要每两个月发生一次以上。


有没有一种方法可以从我已经定义的计划 Fargate 任务中创建一次性任务,最好使用更改的环境变量? 然后,这个一次性任务应该能够从 AWS 仪表板临时启动.


就目前情况而言,我可以从为计划的 Fargate 任务创建的任务定义中手动启动一项新的一次性任务。但这需要用户(并不总是我)指定各种参数,例如选择 vpc、子网和环境变量覆盖。我宁愿重用那些为计划的 Fargate 任务指定的内容,或者将它们存储在某个地方,这样就不需要手动输入这些内容。这可能吗?

相关问题

我觉得我的问题与这个问题类似,但该答案中链接的页面并没有真正告诉我如何通过 cdk 完成一次性或“独立”任务。

amazon-web-services amazon-ecs aws-fargate
1个回答
0
投票

不幸的是,没有办法做到这一点。你所发现的就是所有可用的。无法在 AWS 仪表板中运行计划任务的“一次性”版本。唯一的选择是通过仪表板修改计划,使其在接下来的几分钟内启动,等待它启动,然后再次将计划修改为之前的值。

您可以通过使用 Python 和 AWS SDK 等创建脚本来查询计划任务的详细信息,并通过 ECS Run Task API 创建一个新的一次性任务来自动执行此操作。目前还没有办法通过 AWS 仪表板来做到这一点。

© www.soinside.com 2019 - 2024. All rights reserved.