*: fix @prefill_task

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
Jens Langhammer 2021-12-02 10:05:51 +01:00
parent e42ad8db93
commit f0d7edb963
7 changed files with 14 additions and 14 deletions

View File

@ -54,7 +54,7 @@ def clear_update_notifications():
@CELERY_APP.task(bind=True, base=MonitoredTask) @CELERY_APP.task(bind=True, base=MonitoredTask)
@prefill_task() @prefill_task
def update_latest_version(self: MonitoredTask): def update_latest_version(self: MonitoredTask):
"""Update latest version info""" """Update latest version info"""
if CONFIG.y_bool("disable_update_check"): if CONFIG.y_bool("disable_update_check"):

View File

@ -29,7 +29,7 @@ LOGGER = get_logger()
@CELERY_APP.task(bind=True, base=MonitoredTask) @CELERY_APP.task(bind=True, base=MonitoredTask)
@prefill_task() @prefill_task
def clean_expired_models(self: MonitoredTask): def clean_expired_models(self: MonitoredTask):
"""Remove expired objects""" """Remove expired objects"""
messages = [] messages = []
@ -69,7 +69,7 @@ def should_backup() -> bool:
@CELERY_APP.task(bind=True, base=MonitoredTask) @CELERY_APP.task(bind=True, base=MonitoredTask)
@prefill_task() @prefill_task
def backup_database(self: MonitoredTask): # pragma: no cover def backup_database(self: MonitoredTask): # pragma: no cover
"""Database backup""" """Database backup"""
self.result_timeout_hours = 25 self.result_timeout_hours = 25

View File

@ -112,13 +112,13 @@ class TaskInfo:
cache.set(key, self, timeout=timeout_hours * 60 * 60) cache.set(key, self, timeout=timeout_hours * 60 * 60)
def prefill_task(): def prefill_task(func):
"""Ensure a task's details are always in cache, so it can always be triggered via API""" """Ensure a task's details are always in cache, so it can always be triggered via API"""
def inner_wrap(func): def wrapper(*args, **kwargs):
status = TaskInfo.by_name(func.__name__) status = TaskInfo.by_name(func.__name__)
if status: if status:
return func return func(*args, **kwargs)
TaskInfo( TaskInfo(
task_name=func.__name__, task_name=func.__name__,
task_description=func.__doc__, task_description=func.__doc__,
@ -131,9 +131,9 @@ def prefill_task():
finish_time=datetime.now(), finish_time=datetime.now(),
).save(86400) ).save(86400)
LOGGER.debug("prefilled task", task_name=func.__name__) LOGGER.debug("prefilled task", task_name=func.__name__)
return func return func(*args, **kwargs)
return inner_wrap return wrapper
class MonitoredTask(Task): class MonitoredTask(Task):

View File

@ -12,7 +12,7 @@ from authentik.managed.manager import ObjectManager
@CELERY_APP.task(bind=True, base=MonitoredTask) @CELERY_APP.task(bind=True, base=MonitoredTask)
@prefill_task() @prefill_task
def managed_reconcile(self: MonitoredTask): def managed_reconcile(self: MonitoredTask):
"""Run ObjectManager to ensure objects are up-to-date""" """Run ObjectManager to ensure objects are up-to-date"""
try: try:

View File

@ -76,7 +76,7 @@ def outpost_service_connection_state(connection_pk: Any):
@CELERY_APP.task(bind=True, base=MonitoredTask) @CELERY_APP.task(bind=True, base=MonitoredTask)
@prefill_task() @prefill_task
def outpost_service_connection_monitor(self: MonitoredTask): def outpost_service_connection_monitor(self: MonitoredTask):
"""Regularly check the state of Outpost Service Connections""" """Regularly check the state of Outpost Service Connections"""
connections = OutpostServiceConnection.objects.all() connections = OutpostServiceConnection.objects.all()
@ -126,7 +126,7 @@ def outpost_controller(
@CELERY_APP.task(bind=True, base=MonitoredTask) @CELERY_APP.task(bind=True, base=MonitoredTask)
@prefill_task() @prefill_task
def outpost_token_ensurer(self: MonitoredTask): def outpost_token_ensurer(self: MonitoredTask):
"""Periodically ensure that all Outposts have valid Service Accounts """Periodically ensure that all Outposts have valid Service Accounts
and Tokens""" and Tokens"""

View File

@ -16,7 +16,7 @@ LOGGER = get_logger()
@CELERY_APP.task(bind=True, base=MonitoredTask) @CELERY_APP.task(bind=True, base=MonitoredTask)
@prefill_task() @prefill_task
def save_ip_reputation(self: MonitoredTask): def save_ip_reputation(self: MonitoredTask):
"""Save currently cached reputation to database""" """Save currently cached reputation to database"""
objects_to_update = [] objects_to_update = []
@ -30,7 +30,7 @@ def save_ip_reputation(self: MonitoredTask):
@CELERY_APP.task(bind=True, base=MonitoredTask) @CELERY_APP.task(bind=True, base=MonitoredTask)
@prefill_task() @prefill_task
def save_user_reputation(self: MonitoredTask): def save_user_reputation(self: MonitoredTask):
"""Save currently cached reputation to database""" """Save currently cached reputation to database"""
objects_to_update = [] objects_to_update = []

View File

@ -17,7 +17,7 @@ LOGGER = get_logger()
@CELERY_APP.task(bind=True, base=MonitoredTask) @CELERY_APP.task(bind=True, base=MonitoredTask)
@prefill_task() @prefill_task
def clean_temporary_users(self: MonitoredTask): def clean_temporary_users(self: MonitoredTask):
"""Remove temporary users created by SAML Sources""" """Remove temporary users created by SAML Sources"""
_now = now() _now = now()