Skip to content

Commit

Permalink
Another wrapping test with global ThreadPoolExecutor
Browse files Browse the repository at this point in the history
  • Loading branch information
pylipp committed Jul 22, 2024
1 parent f227b57 commit a4266af
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions back/boxtribute_server/graph_ql/loaders.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import asyncio
from collections import defaultdict
from concurrent.futures import ThreadPoolExecutor
from datetime import datetime
from functools import partial

Expand Down Expand Up @@ -38,6 +39,9 @@ def load(self, key):
return super().load(key)


executor = ThreadPoolExecutor(max_workers=5)


async def select(
model, /, *conditions, fields=None, join_kwargs=None, group_field=None
):
Expand All @@ -53,9 +57,8 @@ def utility_function(*conditions, fields, join_kwargs):
query = query.group_by(group_field)
return list(query.iterator())

return await asyncio.to_thread(
utility_function, *conditions, fields=fields, join_kwargs=join_kwargs
)
f = partial(utility_function, *conditions, fields=fields, join_kwargs=join_kwargs)
return await asyncio.get_running_loop().run_in_executor(executor, f)


class SimpleDataLoader(DataLoader):
Expand Down

0 comments on commit a4266af

Please sign in to comment.