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
И что печатает?
Обсуждают сегодня