Задать вопрос
@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)
  • Вопрос задан
  • 158 просмотров
Подписаться 1 Простой 5 комментариев
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Python-разработчик
    9 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 1
@Everything_is_bad
например, redis lock
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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