json в файл, я получаю дубликаты ключей.
Дамп происходит в корутине, я уже применил Lock, и использовал стандартный open, вместо aiofiles.
Ситуацию это не исправляет.
Код:
async def dump(self):
async with asyncio.Lock():
async with aopen(self._context_file, "w") as f:
await f.write(json.dumps(self._context))
Вызов корутины в таске:
tg.create_task(repeat(15, worker_context.dump))
Декоратор:
async def repeat(period: int | float, func: Callable, *args, **kwargs):
assert asyncio.iscoroutinefunction(func)
while True:
async with asyncio.TaskGroup() as tg:
tg.create_task(func(*args, **kwargs))
tg.create_task(asyncio.sleep(period))
Кто нибудь сталкивался с подобным поведением?
Покажи, что выводит print(self._context)
принт слева
Wat Это точно не вывод в консоль self._context
И что печатает?
Обсуждают сегодня