Test heartbeat fix

This commit is contained in:
2023-08-30 10:29:54 +02:00
parent fcd9fdeaa4
commit 8d775203e7
+12 -4
View File
@@ -19,6 +19,8 @@ import random
import re import re
import shutil import shutil
import sys import sys
import functools
import typing
from datetime import datetime from datetime import datetime
from logging import handlers from logging import handlers
from pathlib import Path, PurePath from pathlib import Path, PurePath
@@ -808,7 +810,13 @@ async def get_stats(ctx, history_limit):
yield name, how_many yield name, how_many
# trunk-ignore(pylint/R0914) async def run_blocking(blocking_func: typing.Callable, *args, **kwargs) -> typing.Any:
"""Runs a blocking function in a non-blocking way"""
func = functools.partial(blocking_func, *args, **kwargs) # `run_in_executor` doesn't support kwargs, `functools.partial` does
return await client.loop.run_in_executor(None, func)
# runk-ignore(pylint/R0914)
# trunk-ignore(pylint/R0915) # trunk-ignore(pylint/R0915)
# trunk-ignore(pylint/R0912) # trunk-ignore(pylint/R0912)
async def wyszukaj(ctx, how_many=0, slowa_kluczowe=None): async def wyszukaj(ctx, how_many=0, slowa_kluczowe=None):
@@ -1310,7 +1318,7 @@ async def zagraj_mi_kawalek(ctx):
async with ctx.typing(): async with ctx.typing():
search_time_glob = datetime.now() search_time_glob = datetime.now()
logger.info("Zaczynam szukać timestamp %s", datetime.now()) logger.info("Zaczynam szukać timestamp %s", datetime.now())
file = await wyszukaj(ctx=ctx) file = await run_blocking(wyszukaj, ctx=ctx)
logger.info( logger.info(
"Koniec szukania(timestamp %s zajęło %s", "Koniec szukania(timestamp %s zajęło %s",
datetime.now(), datetime.now(),
@@ -1360,7 +1368,7 @@ async def zrob_mi_plejliste(ctx):
search_time_glob = datetime.now() search_time_glob = datetime.now()
dlugosc_playlisty = ctx.message.content.split()[1] dlugosc_playlisty = ctx.message.content.split()[1]
file = await wyszukaj(ctx=ctx, how_many=dlugosc_playlisty) file = await run_blocking(wyszukaj, ctx=ctx, how_many=dlugosc_playlisty)
logger.info( logger.info(
"Koniec szukania(timestamp %s zajęło %s", "Koniec szukania(timestamp %s zajęło %s",
datetime.now(), datetime.now(),
@@ -1597,7 +1605,7 @@ async def zagraj_muzyke_mego_ludu(ctx):
async with ctx.typing(): async with ctx.typing():
logger.info("Zaczynam szukać timestamp %s", datetime.now()) logger.info("Zaczynam szukać timestamp %s", datetime.now())
search_time_glob = datetime.now() search_time_glob = datetime.now()
file = await wyszukaj(ctx=ctx, how_many=MUZYKA_MOJEGO_LUDU_PLAJLISTA, slowa_kluczowe=final_key_words) file = await run_blocking(wyszukaj, ctx=ctx, how_many=MUZYKA_MOJEGO_LUDU_PLAJLISTA, slowa_kluczowe=final_key_words)
logger.info("Zagraj muzyke mego ludu:wygenerowano plejliste") logger.info("Zagraj muzyke mego ludu:wygenerowano plejliste")
logger.info(file) logger.info(file)
logger.info( logger.info(