0

在运行定期任务的自动缩放环境中,如果环境被放大,定期任务是否会在每个实例上运行?或者更具体地说,每个实例是否会发布到导致多个“定期任务”运行的队列中?

4

2 回答 2

3

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

于 2015-07-02T08:50:08.323 回答
1

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

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

于 2015-07-02T08:47:32.683 回答