gpt4 book ai didi

amazon-web-services - 亚马逊 ECS 上的 Celery Beat

转载 作者:行者123 更新时间:2023-12-05 00:49:06 28 4
gpt4 key购买 nike

我正在使用 Amazon Web Services ECS(弹性容器服务)。
我的任务定义包含 Application + Redis + Celery,这些容器在任务定义中定义。设置了自动扩展,因此目前有三个具有相同镜像基础架构的实例。然而,计划任务需要一个 Celery Beat 实例,所以 Celery Beat 将是一个很好的工具,因为 Celery 已经在我的基础设施中。

但问题是:如果我将 Celery Beat 容器与其他容器一起添加(将其添加到任务定义中),它将被镜像,多个实例将同时执行相同的计划任务。这个基础设施问题的解决方案是什么?我应该创建一个单独的服务吗?

最佳答案

您可以使用 ECS 任务放置策略来放置您的 Celery Beat 任务并选择“每个主机一个任务”。确保将 Desire state 选择为“1”。这样,您的 celery beat 任务将仅在集群中的 1 个容器中运行。

Ref: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_run_task.html



所需的任务是您要在集群中运行的任务数。您可以在配置服务时或在运行任务部分设置“任务数”。您可以引用以下链接作为引用。

配置服务:

Ref: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create-service.html



运行任务:

Ref: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_run_task.html



如果您发现任何问题,请告诉我。

关于amazon-web-services - 亚马逊 ECS 上的 Celery Beat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48302769/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com