据我所知,在OpenCPU中没有任务模型, ,即一个人必须等待任意长的TCP连接,直到请求结束。OpenCPU中长时间运行作业的任务模型?
任务模型实现的一种可能性是当需要运行某个函数时,立即返回一个专用任务uri,其状态为200 OK
,用于POST
请求。优点是客户端会在后台运行服务器时立即得到结果。
然后,客户端将轮询任务URI,直到它返回201 created
,表示作业已成功完成,或调用失败的错误代码。在成功案例中,主体将包含现在由POST
直接创建的相同资源列表。
对此模型或类似方法有什么意见?每个人如何处理这个问题?我认为在没有开放TCP连接的情况下支持长时间运行的作业将是有价值在我看来,可选功能比如在轮询仍在运行的工作时提供进度信息等。
是的,只要连接仍然存在,它目前运行良好。我同意目前尚未广泛使用的进度指标 - 但这至少会在我的套餐中迅速改变。 – 2014-08-28 11:17:13
如果您有明确定义的用例,请随时在提议中的github上打开问题。 – Jeroen 2014-08-28 13:24:33
一个非常简单的用例是我使用OpenCPU通过WiFi和公司VPN,这在TCP上非常不稳定。 ;-)但我知道你的意思......我会给它一个想法。 – 2014-08-29 17:04:06