Обходной путь для Windows. Запустите еще одну коррекцию, которая активирует цикл каждую секунду и разрешает петле реагировать на прерывание клавиатуры
Пример с Echo-сервером из asyncio doc
async def wakeup():
while True:
await asyncio.sleep(1)
loop = asyncio.get_event_loop()
coro = loop.create_server(EchoServerClientProtocol, '127.0.0.1', 8888)
server = loop.run_until_complete(coro)
# add wakeup HACK
loop.create_task(wakeup())
try:
loop.run_forever()
except KeyboardInterrupt:
pass
Похоже, ваши аннотации не в том месте.
Почему в Library
есть ManagedReference
для книг, а вы предотвращаете рекурсию между Author
и Book
?
Вероятно, так и должно быть:
[110 ] Более того, определенно существует неправильная модель, согласно которой Author
имеет отношение один к одному с книгой. Логически Author
может владеть многими books
.