*: fix @prefill_task
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
		| @ -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"): | ||||||
|  | |||||||
| @ -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 | ||||||
|  | |||||||
| @ -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): | ||||||
|  | |||||||
| @ -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: | ||||||
|  | |||||||
| @ -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""" | ||||||
|  | |||||||
| @ -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 = [] | ||||||
|  | |||||||
| @ -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() | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user
	 Jens Langhammer
					Jens Langhammer