Задать вопрос
@utsiye

Как сделать lock для двух асинхронных программ?

Требуется лок для двух независимых программ, который будет работать в асинхронном пространстве. Попробовал обернуть filelock в асинхронную обертку - не получилось, блокируется процесс навсегда. Какие есть варианты?

Обертка:
@asynccontextmanager
async def async_file_lock(self):
    loop = asyncio.get_running_loop()
    await loop.run_in_executor(None, self.lock.acquire)
    try:
        yield
    finally:
        await loop.run_in_executor(None, self.lock.release)
  • Вопрос задан
  • 167 просмотров
Подписаться 1 Простой 5 комментариев
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Академия Эдюсон
    Python-разработчик
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Python-разработчик + ИИ
    8 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы