当进程运行时请求被拒绝时,我应该返回什么http代码



我有一个RESTapi,它在serveur上启动了大量计算(它会持续几秒钟(。为此,我将向客户端返回202(ACCEPTED(http代码,客户端不会期望返回值。到目前为止还可以。

当进程(由第一次调用启动(未终止时,如何调用此url,我将为另一个客户端返回什么?

第二个调用将不会被处理,它将被忽略,客户端必须稍后重试

如果您坚持当前行为,那么您将返回503。这告诉(符合标准的(客户端您的服务器暂时过载,稍后可以重试(您甚至可以在Retry-After标头上提示何时可以。虽然符合标准,但只有在稍后无法对第二次调用请求的进程进行排队时,您才会希望执行此操作,可能是因为内部状态已更改,因此第二次调用无效。如果可以仅对进程进行排队,结果与客户端手动重试调用时相同,则返回202。

最新更新