use a function if it was passed

This commit is contained in:
Matthias Mair 2022-05-16 18:30:37 +02:00
parent 7fc408cf60
commit 763cd13b7c

View File

@ -74,17 +74,18 @@ def offload_task(taskname, *args, force_sync=False, **kwargs):
except (OperationalError, ProgrammingError): # pragma: no cover except (OperationalError, ProgrammingError): # pragma: no cover
logger.warning(f"Could not offload task '{taskname}' - database not ready") logger.warning(f"Could not offload task '{taskname}' - database not ready")
# make sure the taskname is a string if is_worker_running() and not force_sync: # pragma: no cover
if not isinstance(taskname, str): # Running as asynchronous task
taskname = str(taskname) try:
task = AsyncTask(taskname, *args, **kwargs)
task.run()
except ImportError:
logger.warning(f"WARNING: '{taskname}' not started - Function not found")
else:
if is_worker_running() and not force_sync: # pragma: no cover if isinstance(taskname, function):
# Running as asynchronous task # function was passed - use that
try: _func = taskname
task = AsyncTask(taskname, *args, **kwargs)
task.run()
except ImportError:
logger.warning(f"WARNING: '{taskname}' not started - Function not found")
else: else:
# Split path # Split path
try: try:
@ -115,8 +116,8 @@ def offload_task(taskname, *args, force_sync=False, **kwargs):
logger.warning(f"WARNING: '{taskname}' not started - No function named '{func}'") logger.warning(f"WARNING: '{taskname}' not started - No function named '{func}'")
return return
# Workers are not running: run it as synchronous task # Workers are not running: run it as synchronous task
_func(*args, **kwargs) _func(*args, **kwargs)