【发布时间】:2019-05-07 16:02:02
【问题描述】:
我们正在尝试使用 REST API,用于消息处理器,它的某些操作可能需要超过配置的超时时间。
想知道,如果Http调用API超时,会停止执行API,还是继续执行?
想法是,我们可以触发并忘记 API,如果 API 不返回 404 或 503,我们并不担心。但想知道 API 是否会继续执行?
任何意见或建议表示赞赏。
【问题讨论】:
-
改用websocket?
-
听起来你需要一个异步进程。这通常通过触发总线消息来启动进程来完成。您的消费者看到队列中的消息并对其进行处理。完成后,它可以触发另一条总线消息以指示它已完成,或回调网站或使用结果更新数据库等。通过遵循此过程,您的站点不必等待 HTTP 中长时间运行的过程打电话,然后你就可以腾出线程来做其他工作了。
-
评论暗示您可以控制 API 服务器。您只是一个消费者还是也可以控制 API 服务器? -> 如果你只是消费者,这取决于服务器的实现。
-
是的..我们实际使用windows服务和处理消息,但是消息处理涉及调用API,这是长期运行的。我们不需要等待 API 完成并返回消息处理器,但是想了解 API 是否会在调用者消息处理器超时后完成所有操作..?这会是一种好方法吗?
标签: c# rest message-queue