authentik.root.signals
1from datetime import timedelta 2 3from django.dispatch import Signal, receiver 4from django.utils.timezone import now 5from structlog.stdlib import get_logger 6 7# Signal dispatched before actual startup trigger 8pre_startup = Signal() 9# Signal dispatched which should trigger all startup logic 10startup = Signal() 11# Signal dispatched after the startup logic 12post_startup = Signal() 13 14LOGGER = get_logger() 15 16 17@receiver(pre_startup) 18def pre_startup_log(sender, **_): 19 sender._start_time = now() 20 21 22@receiver(post_startup) 23def post_startup_log(sender, **_): 24 took: timedelta = now() - sender._start_time 25 LOGGER.info("authentik Core Worker finished starting", took_s=took.total_seconds())
pre_startup =
<django.dispatch.dispatcher.Signal object>
startup =
<django.dispatch.dispatcher.Signal object>
post_startup =
<django.dispatch.dispatcher.Signal object>
LOGGER =
<BoundLoggerLazyProxy(logger=None, wrapper_class=None, processors=None, context_class=None, initial_values={}, logger_factory_args=())>
@receiver(pre_startup)
def
pre_startup_log(sender, **_):
@receiver(post_startup)
def
post_startup_log(sender, **_):