【发布时间】:2010-10-15 21:53:12
【问题描述】:
是否有任何最佳实践规定了异步调用与其相应响应之间的最长时间。
基本上我有一个需要很长时间才能运行的进程(例如:5 分钟)。 选项 1: 我可以将进程公开为异步调用。在这种情况下,用户调用我的服务,然后在稍后的某个时间,我以进程状态响应。
选项 2 我可以实现它的另一种方法是设置系统,以便在我的 Web 服务上进行单向操作,该操作开始该过程并立即返回该过程的 ID。然后我可以强制消费者提供单向操作,我可以在流程完成后调用并报告。
第一个选项更容易,因为我不必要求调用者做任何事情。第二个似乎更好,因为我可以随时报告(5 分钟到几年后)。
由于我可以完全控制调用方及其内部可用服务,因此我倾向于选项 2。
所以我想知道异步调用是否有任何时间限制(它们可以跨越数天吗?如果不是最佳做法是什么)。选项 2 是采用的标准模式吗?
引用将非常有用。
【问题讨论】: