当进程为 运行 时请求被拒绝时,我应该 return 什么 http 代码?
What http code should I return when the request is rejected while process is running?
我有一个 REST api 可以在服务器上启动大量计算(需要几秒钟)。为此,我向客户端 returning 202 (ACCEPTED) http 代码,它不会期望 returning 值。到此为止。
当进程(由第一个调用启动)未终止时,我 return 另一个客户端如何调用此 url?
第二次调用将不会被处理,它将被忽略,客户端必须稍后重试。
如果您坚持当前的行为,那么您将return 503. This tells the (standard compliant) client that your server is temporarily overloaded, and it can retry later (you can even hint when it can on Retry-After header。虽然 standard-compliant,但如果稍后无法对第二次调用请求的进程进行排队,您将只想执行此操作,这可能是因为内部状态已更改,因此第二次调用无效。如果可以只 queue 与客户端手动重试调用时结果相同的过程,那么只需 return 202.
我有一个 REST api 可以在服务器上启动大量计算(需要几秒钟)。为此,我向客户端 returning 202 (ACCEPTED) http 代码,它不会期望 returning 值。到此为止。
当进程(由第一个调用启动)未终止时,我 return 另一个客户端如何调用此 url?
第二次调用将不会被处理,它将被忽略,客户端必须稍后重试。
如果您坚持当前的行为,那么您将return 503. This tells the (standard compliant) client that your server is temporarily overloaded, and it can retry later (you can even hint when it can on Retry-After header。虽然 standard-compliant,但如果稍后无法对第二次调用请求的进程进行排队,您将只想执行此操作,这可能是因为内部状态已更改,因此第二次调用无效。如果可以只 queue 与客户端手动重试调用时结果相同的过程,那么只需 return 202.