2.20. Signal

Позволяет зарегистрировать асинхронный callback для определенных событий entrypoint.

2.20.1. pre_start

pre_start сигнал происходящий когда entrypoint запускается но до запуска всех сервисов.

from aiomisc import entrypoint, receiver

@receiver(entrypoint.PRE_START)
async def prepare_database(entrypoint, services):
  ...

with entrypoint() as loop:
    loop.run_forever()

2.20.2. post_start

post_start сигнал происходящий после того как entrypoint запустит все сервисы.

from aiomisc import entrypoint, receiver

@receiver(entrypoint.POST_START)
async def startup_notifier(entrypoint, services):
  ...

with entrypoint() as loop:
    loop.run_forever()

2.20.3. pre_stop

pre_stop сигнал происходящий когда entrypoint завершается до остановки всех сервисов.

from aiomisc import entrypoint, receiver

@receiver(entrypoint.PRE_STOP)
async def shutdown_notifier(entrypoint):
  ...

with entrypoint() as loop:
    loop.run_forever()

2.20.4. post_stop

post_stop сигнал происходящий когда entrypoint завершается запускается после остановки всех сервисов.

from aiomisc import entrypoint, receiver

@receiver(entrypoint.POST_STOP)
async def cleanup(entrypoint):
  ...

with entrypoint() as loop:
    loop.run_forever()