From 69a300f21ada5295845524b61d36327169a84ca4 Mon Sep 17 00:00:00 2001 From: Tom Christie Date: Thu, 15 Nov 2018 10:38:05 +0000 Subject: [PATCH] Use Starlette's run_in_threadpool --- responder/background.py | 5 ++--- setup.py | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/responder/background.py b/responder/background.py index 42b6c09..ca069b6 100644 --- a/responder/background.py +++ b/responder/background.py @@ -3,6 +3,7 @@ import functools import concurrent.futures import multiprocessing import traceback +from starlette.concurrency import run_in_threadpool class BackgroundQueue: @@ -40,6 +41,4 @@ class BackgroundQueue: if asyncio.iscoroutinefunction(func): return await asyncio.ensure_future(func(*args, **kwargs)) else: - fn = functools.partial(func, *args, **kwargs) - loop = asyncio.get_event_loop() - return await loop.run_in_executor(None, fn) + return await run_in_threadpool(func, *args, **kwargs) diff --git a/setup.py b/setup.py index 87e3160..37584b6 100644 --- a/setup.py +++ b/setup.py @@ -22,7 +22,7 @@ if sys.argv[-1] == "publish": sys.exit() required = [ - "starlette", + "starlette<0.9", "uvicorn", "aiofiles", "pyyaml",