mirror of
https://github.com/GNS3/gns3-server.git
synced 2024-12-24 06:56:42 +00:00
Fix creating asyncio task in Python 3.6
This commit is contained in:
parent
2d74d1ad94
commit
f3b8f43689
@ -15,6 +15,7 @@
|
|||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
import sys
|
||||||
import asyncio
|
import asyncio
|
||||||
|
|
||||||
|
|
||||||
@ -39,7 +40,11 @@ class Pool():
|
|||||||
while len(self._tasks) > 0 or len(pending) > 0:
|
while len(self._tasks) > 0 or len(pending) > 0:
|
||||||
while len(self._tasks) > 0 and len(pending) < self._concurrency:
|
while len(self._tasks) > 0 and len(pending) < self._concurrency:
|
||||||
task, args, kwargs = self._tasks.pop(0)
|
task, args, kwargs = self._tasks.pop(0)
|
||||||
pending.add(asyncio.create_task(task(*args, **kwargs)))
|
if sys.version_info >= (3, 7):
|
||||||
|
t = asyncio.create_task(task(*args, **kwargs))
|
||||||
|
else:
|
||||||
|
t = asyncio.get_event_loop().create_task(task(*args, **kwargs))
|
||||||
|
pending.add(t)
|
||||||
(done, pending) = await asyncio.wait(pending, return_when=asyncio.FIRST_COMPLETED)
|
(done, pending) = await asyncio.wait(pending, return_when=asyncio.FIRST_COMPLETED)
|
||||||
for task in done:
|
for task in done:
|
||||||
if task.exception():
|
if task.exception():
|
||||||
|
Loading…
Reference in New Issue
Block a user