php - 如何将SQS延迟时间增加到900秒以上

标签 php laravel amazon-sqs jobs

我有一个延迟 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/

相关文章:

php - 如何使用 Ajax 与 Laravel 和 Restful Controller 从数据库中删除

codeigniter - 如何使 laravel 比 codeigniter 更快的页面加载

amazon-web-services - 是否可以有一个默认为0且仅在有工作要做的情况下包含实例的AWS EC2规模组?

amazon-sqs - 为什么 SQS 中的 ApproximateAgeOfOldestMessage 不大于约 5 分钟

python - 每当队列中有内容时,Amazon 的 SQS 如何通知我的 "worker"服务器之一?

php - HTML 表无法正确显示 MySQL 数据

php - 询问预约流程

php - 带有数据透视表的人类可读时间戳 Laravel 4

php - 排序、分页、搜索 jQuery 数据表搜索端处理不起作用

php - 为未连接的用户添加回显到我的 WordPress 侧边栏