需求是这样的,app调用api,但某些api需要20s左右的执行响应时间。
目前的做法是,前端调用api,服务端收到请求后,将主要的耗时运算添加到任务队列,然后api马上返回,前端每隔几秒重新调用这个api,获取那个耗时运算的计算结果。目前用到的东西主要是flask+rq。
这个方法目前运转良好,不过现在要将系统的api开放给其他公司使用,对方希望api能够一次就返回计算结果。
如果按照对方的需求,每次请求都需要20s,甚至更长时间才能响应,这种事情应该用什么方案来做?用tornado能解决这个问题吗?或者是需要用其他更擅长处理这样请求的技术,比如golang或者erlang?
目前的做法是,前端调用api,服务端收到请求后,将主要的耗时运算添加到任务队列,然后api马上返回,前端每隔几秒重新调用这个api,获取那个耗时运算的计算结果。目前用到的东西主要是flask+rq。
这个方法目前运转良好,不过现在要将系统的api开放给其他公司使用,对方希望api能够一次就返回计算结果。
如果按照对方的需求,每次请求都需要20s,甚至更长时间才能响应,这种事情应该用什么方案来做?用tornado能解决这个问题吗?或者是需要用其他更擅长处理这样请求的技术,比如golang或者erlang?