Задать вопрос
@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)
  • Вопрос задан
  • 82 просмотра
Подписаться 1 Простой 4 комментария
Пригласить эксперта
Ответы на вопрос 1
@Everything_is_bad
redis lock
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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