我想用DRF (https://www.django-rest-framework.org/)创建一个简单的Rest。另一个服务将发出请求,其中它提供了一个JSON。这个json被解析了,一些相当简单的熊猫数据操作即将进行。结果通过JSON发回。
有办法使这个进程多线程吗?尽管熊猫的操作相当简单,但它们仍可能需要0.5s-1s,如果在同一时刻出于某种原因有3-4个这样的请求,我想避免人们等待几秒钟。
谢谢!
发布于 2020-02-26 10:46:18
您是否使用YourAPIScript.py runserver部署您的API?
据我所知,它是单线程的,所以在处理完另一个请求之前,它无法开始处理另一个请求。
解决方案:
gevent或eventlet (http://docs.gunicorn.org/en/stable/settings.html#id75)。对于员工计数和线程,缺省值为1,这意味着默认情况下您将得到1请求的并发性。发布于 2020-02-26 10:47:42
在我看来,避免使用多线程解决这个问题可能是个好主意。这样做可能会更好:
在我看来,使用Pandas处理JSON不是您在请求响应过程中想要做的事情,它更适合异步任务体系结构。今天可能需要0,5-1秒,但明天可能需要10秒钟,然后挂起应用程序
https://stackoverflow.com/questions/60411877
复制相似问题