2023年11月29日发(作者:)

python多线程和多进程curr_如何在django视图中使⽤

asyncio(协程)和T。。。

Django视图函数执⾏,不在主线程中,直接

loop = _event_loop() # 更不能loop = _event_loop()

会触发

RuntimeError: There is no current event loop in thread

因为asyncio程序中的每个线程都有⾃⼰的事件循环,但它只会在主线程中为你⾃动创建⼀个事件循环。所以如果你

_event_loop在主线程中调⽤⼀次,它将⾃动创建⼀个循环对象并将其设置为默认值,但是如果你在⼀个⼦线程中再次调⽤

它,你会得到这个错误。相反,您需要在线程启动时显式创建/设置事件循环:

loop = _event_loop()

_event_loop(loop)

task1 = _in_executor(None, _task1, 2)

import time

s = results = []

second = await ng_task(5)

('noBlocking Request: {}'.format(second))

"""

@run_on_executor

def blocking_task(self, second):

随机推荐