我正在用烧瓶-restplus构建REST。我的一个端点获取一个从客户端上传的文件,并运行一些分析。这项工作最多需要30秒。我不想让这份工作妨碍主要的进程。因此端点将立即返回一个带有200或201的响应,作业仍然可以运行。结果将保存到稍后将检索的数据库中。
看来我有两种长期工作的选择。
线程处理相对简单。但问题是,Flask应用程序的线程数是有限的。在一个独立的Python应用程序中,我可以为线程使用一个队列。但是这是REST,每个请求调用都是独立的。我不知道是否有一种方法来维护这方面的全局队列。因此,如果请求超过线程限制,它将无法接受更多的请求。
用芹菜和红葡萄酒排队的任务可能是更好的选择。但这只是一个概念的证明,时间线有点紧。设置芹菜,Redis与酒瓶是不容易的,我有很多麻烦在我的开发机器,这是一个Windows。它将部署在AWS上,这有点复杂。
我想知道这个案子还有第三种选择吗?
https://stackoverflow.com/questions/50275646
复制相似问题