#python #multithreading #dask #aiohttp
#python #многопоточность #dask #aiohttp
Вопрос:
Могу ли я использовать экземпляр распределенного клиента как одноэлементный в многопоточной среде?
# process start
from dask.distributed import Client
client = Client()
# thread-1
f = client.submit(some_work)
f.result()
# thread-2
f = client.submit(anothe_work)
f.result()
Как насчет использования асинхронного клиента Dask с aiohttp? Должен ли я создавать экземпляр клиента для каждого запроса? Или для потока IOLoop? Или для каждого процесса будет достаточно?
Ответ №1:
Мы рекомендуем использовать Dask асинхронно. Документация здесь: https://distributed.dask.org/en/latest/asynchronous.html
Но также да, большинство операций с клиентами Dask являются потокобезопасными. Однако использование цикла событий более плавное.