0

我现在正在将作业队列从本地 beanstalkd 服务器移动到 Amazon SQS。但问题是 SQS 只能有很短的延迟(15 分钟)。

在我的应用程序中,有数以千计的交易,当交易达到过期时间时,我使用 beanstalkd 使交易过期(即调用 api 将交易状态更新为已完成/失败)。

有什么服务/hacky方式可以用来处理这个用例吗?

谢谢

4

1 回答 1

1

在从数据库中删除之前,我只需将长时间延迟事件的数据粘贴到数据库中,然后每 10-15 分钟运行一次 cronjob 以吸收一组即将到来的作业并写入 SQS。将有一些事情需要考虑,即有多少人可以同时到达,并试图避免两次读取相同的工作,然后将它们再次插入 SQS。

虽然数据库不适合队列,但这主要是高交互性和快速周转的问题。我会将您的问题更多地归类为几周或更长时间后要解决的问题。

您甚至可以将常规消息放入队列中,以获取下一批即将到来的作业。

于 2019-02-16T17:41:34.693 回答