我一直对设计问题感到困扰。
我想实现一个看起来像邮件办公室的小型服务。它将接受客户请求(在请求中有消息来传递目标网址信息)。之后,我将帮助客户端将消息发送到指定的URL。但是当第一次试用失败时(我希望有200次成功'响应)有一些策略,比如我会不断将消息发送到目标网址最多 10次。我将等待一段时间再次发送消息。例如,我在收到请求后立即发送消息(以下看似交付算法):
if it fails then
I will wait for 1 minutes to send it again
if it fails again then
I will wait for a longer time period(like 5 minutes) and so on
until the num of trials reaches Max(10 times).
我曾经使用django-cron的django框架来解决问题。但是它不准确,这取决于我为django-cron设置的时间(cron之间的时间越短越好)。我不知道是否有一种优雅而恰当的方法来解决这类问题。
感谢您的帮助!