我们正在实施对应用程序中的Mailgun事件跟踪的支持.我们回顾了提议的事件轮询算法,但发现自己对此不太满意.首先,我们不希望丢弃我们已经获取的数据,然后在暂停后从头开始重试.它不是很有效,并且为一个长循环的重试留下了一扇门,因为它不清楚循环应该何时结束.其次,"门槛年龄"似乎是确定"可信度"的关键,但其价值没有定义,只建议一个非常大的"半小时".
我们的理解是D_max,当事件被保证驻留在事件存储中时,事件在一些阈值延迟之后变得"值得信赖",让我们称之为"值得信赖" .如果是这样,我们可以用不同的方式实现这个算法,这样我们就不会获取我们知道不"值得信赖"的数据并利用已经获取的所有数据.
我们将定期获取数据,并在每次迭代时我们将:
T_1来T_2 = now() - D_max.对于第一次迭代,T_1可以设置为过去的某个时间,"例如,半小时前".对于后续迭代,T_1将其设置为T_2上一次迭代的值.我的问题是:
D_max多少?显然,我们可以使用"半小时",但我们希望在跟踪事件时更加敏捷,因此知道我们可以设置的最小值是什么并且仍然可靠地获取所有事件会很棒.谢谢!
mailgun ×1