我有一个延迟 3600 秒的作业命令。所以当命令失败时,它将在 1 小时后运行。但不幸的是,今天早上我注意到 SQS 不允许这样做,并且它响应了这个错误
Value 3600 for parameter DelaySeconds is invalid. Reason: DelaySeconds must be >= 0 and <= 900. -
有人有什么想法吗?
最佳答案
正如@John Rotenstein 所说;自引入 SQS 以来,该限制是固定的。您可以做的就是在有效负载中添加一个字段,例如 expire_timestamp
(现在 + 1 小时)。在处理作业时,首先检查当前时间是否大于 expire_timestamp
,如果不大于,则以 15 分钟的时间推回到 SQS。在第四次迭代时,您将处理它。
关于php - 如何将SQS延迟时间增加到900秒以上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61458450/