Quellcode durchsuchen

解决uwsgi多线程导致asyncio无法获取current event

yf_fyh vor 2 Jahren
Ursprung
Commit
a8b9845e38
1 geänderte Dateien mit 6 neuen und 2 gelöschten Zeilen
  1. 6 2
      utils/utils.py

+ 6 - 2
utils/utils.py

@@ -128,7 +128,9 @@ class DeviceInfoUtils(object):
         return res_dict
 
     async def plat_device_info(self, url, data):
-        loop = asyncio.get_event_loop()
+        # loop = asyncio.get_event_loop()
+        loop = asyncio.new_event_loop()
+        asyncio.set_event_loop(loop)
         res = await loop.run_in_executor(None, self.get_resp, url, data)
         return res
 
@@ -141,7 +143,9 @@ class DeviceInfoUtils(object):
         else:
             data = {"device_id": d_id}
 
-        loop = asyncio.get_event_loop()
+        loop = asyncio.new_event_loop()
+        asyncio.set_event_loop(loop)
+        # loop = asyncio.get_event_loop()
         db_task = loop.create_task(self.plat_device_info(bd_url, data))
         sq_task = loop.create_task(self.plat_device_info(sq_url, data))
         loop.run_until_complete(db_task)