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

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

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