JSON API响应方法-如何在不维护连接的情况下发送响应

JSON API响应方法-如何在不维护连接的情况下发送响应,json,Json,我正在开发一个简单的JSON API,允许用户将短片编码成不同的格式 我现在正在努力解决的问题是编码完成后如何发送响应?假设平均编码需要1分钟。因此,仅仅为了发送带有编码电影URL的响应而保持连接1分钟是毫无意义的 客户端发送带有要编码的电影剪辑URL的JSON。服务器发送响应“ok dude,稍等片刻”并结束连接 我找到的一种方法是强制客户端提供回调URL。当编码过程完成时,我的API可以将JSON发布到该URL,其中包含已编码电影的地址,以便下载 您知道这种情况下还有其他方法吗?我不太相信这

我正在开发一个简单的JSON API,允许用户将短片编码成不同的格式

我现在正在努力解决的问题是编码完成后如何发送响应?假设平均编码需要1分钟。因此,仅仅为了发送带有编码电影URL的响应而保持连接1分钟是毫无意义的

客户端发送带有要编码的电影剪辑URL的JSON。服务器发送响应“ok dude,稍等片刻”并结束连接

我找到的一种方法是强制客户端提供回调URL。当编码过程完成时,我的API可以将JSON发布到该URL,其中包含已编码电影的地址,以便下载


您知道这种情况下还有其他方法吗?我不太相信这个回调url。

这里是我该怎么做的。我将使用3个URI:一个用于上传原始视频的著名固定URI,一个用于监控进度的临时URI,以及另一个用于下载转换视频的临时URI。我将返回一个content Location标头,以指示客户端下一步的位置:

后置/转换器?输出=AVI

HTTP/1.1201已创建

内容位置:/converter/process/12345

GET/converter/process/12345

HTTP/1.1200ok

X转换状态:正在转换

GET/converter/process/12335

HTTP/1.1200ok

X转换状态:完成

内容位置:/converter/downloads/12345/myvideofile.avi

GET/converter/downloads/12345/myvideofile.avi

HTTP/1.1200ok


我会在一段时间后自动清理临时资源。

我在这里看到的问题是连接仍然保持。在第二步(转换)中,连接等待转换结果,这可能需要5分钟。