【发布时间】:2017-12-09 18:44:53
【问题描述】:
我正在开发一个允许用户请求验证报告的网络服务。每个报告的生成可能需要长达 20 小时。当发布新的验证请求时,我返回 202 Accepted 答案,并将 Location 设置为处理队列(例如/queue/5)当轮询队列资源时,会提供一些处理信息:
<queueResponse>
<status>QUEUED</status>
<queuePosition>1</queuePosition>
</queueResponse>
一旦处理成功完成并轮询队列,303 see other 将重定向到创建的资源(例如/reports/5)。
但是,如果服务器上发生处理错误,我只需返回我的 queueResponse 而不重定向,并将状态设置为 <status>ERROR</status>。
这是向客户端传达处理错误的最佳方式吗?还是应该在轮询队列以查找失败的验证任务时仅返回 500 Internal Server Error?.....
【问题讨论】: