需求是客户会上传单个或者很多文件,要求提供的接口把处理结果返回客户端。 我目前的思路有: 对于单个文件可以直接等待处理完成,然后把结果返回客户端。 对于批量文件可以通过 celery 把处理任务发送其他 worker 去处理,然后,返回一个新的接口供客户端进行结果轮询。
(服务端处理这些文件需要好几分钟) 现在有几个问题就是:
- 如果要求一次请求就给出客户端返回结果,那么服务端就会阻塞住接口或者占用一个处理线程。那么用户量多的时候,一直被阻塞住怎么办吗?
- 如果不要求一次请求返回结果,我上面的思路是否有问题。还有其他的解决思路吗?
谢谢!
