自动缩放环境中的 Elastic beanstalk 定期任务

Elastic beanstalk periodic tasks on autoscaled environment

在自动缩放的环境中 运行 执行周期性任务,如果环境被放大,周期性任务是否在每个实例上得到 运行?或者更具体地说,每个实例然后 post 到导致多个 "periodic tasks" 运行ning 的队列?

是的,在屏幕后面,它只是您所有实例上的一个 cron 作业。使用周期性任务的默认场景是从工作节点上的 SQS 队列中读取任务。

所以是的,如果您要发布某种只能发生一次的内容,那么您要么需要在两者之间添加一些逻辑,要么使用不同的解决方案。 (例如生成某种基于时间的 ID,它标识 cron 作业的周期。因此来自同一周期的消息具有相同的 ID,易于过滤它们/忽略第一个之后的所有内容。

是的。如果有一些只应触发一次的周期性任务,您应该有一个单独的自动缩放环境,最少 1 个最多一个实例来执行任务或在您的一台服务器上触发它(可能向您的负载均衡器发出请求和一个您的实例将执行任务)