Python同时运行代码

2024-04-28 02:49:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个端点,它获取一些数据,然后运行一些代码,大约需要30秒,然后返回一个特定于数据的响应。我需要能够在30秒内用不同的数据多次命中端点,但是代码仍然需要运行并返回正确的特定于数据的结果。你知道吗

我的意思是:

class Foo(Controller):
    def POST(self, **kwargs):
        [Run Code That Takes 30 Seconds]
        Return [Result That Changes Bassed off POST request Sent]

当我现在运行这个程序,并且在30秒内多次命中端点时,代码只是用新数据重新启动,完全忽略旧数据及其结果。你知道吗

如何允许端点在几秒钟内被多次命中,但仍然返回相应的结果?很高兴回答任何问题!你知道吗


Tags: 数据run代码selfthatfoodefcode
1条回答
网友
1楼 · 发布于 2024-04-28 02:49:38

您应该首先分析您的脚本,以便查看您的任务是cpu还是io绑定的。你知道吗

如果您的任务是io绑定的

看看asyncio库python 3。你知道吗

或者线程库python 2+python 3。你知道吗

如果您的任务受cpu限制

如果您的任务是cpu绑定的,那么由于GIL,您不能使用线程。你知道吗

您可以选择:

  • 使用多处理库:python2+python3

  • 每个cpu核运行一个python实例,每个实例运行一个不同的任务。

  • 使用类似于Celery的任务队列。

相关问题 更多 >