решил прогнать тестовый пример
import asyncio
import concurrent.futures
from collections import Counter
def get_max():
variants = {
1: "Button-1",
2: "Button-1",
3: "Button-3",
4: "Button-1",
}
return max(Counter(variants.values()).values())
async def main():
loop = asyncio.get_running_loop()
result = await loop.run_in_executor(
None, get_max)
print('default thread pool', result)
if __name__ == '__main__':
asyncio.run(main())
Все работает.
нет
покажи код
сейчас
нормально видно?
хуево. Есть же пастабин
луп пробую взять из loader dp
можно loop не укладывать в аргумент, он там и так есть, вроде как, я пробовал и без
тебя заворожил мой код?😄
0 Нет, оцепенел от ужаса. 1 ХЗ, у меня аналогичный код локально работает 2 Вместо тредов можно было бы использовать ProcessPool, пока asyncio еще разрешает, но эта фича помечена как депрекейтед 3 Как следствие из 2го, тебе стоит задуматься над тем чтобы переписать свой код на обычные процессы, раз ты прямо в питоне собирается обрабатывать достаточно веские cpu-bound операции.
Скорее всего бот будет на одном ядре в облаке макс два потока
блин а че у меня не работает
Обсуждают сегодня