diff --git a/src/pypelines/__init__.py b/src/pypelines/__init__.py index fa0af12f2aac6334d791bdc2fb0af9e31500cd3f..0fded8de1c6ad4205b863337e8e420922e3ba245 100644 --- a/src/pypelines/__init__.py +++ b/src/pypelines/__init__.py @@ -1,4 +1,4 @@ -__version__ = "0.0.36" +__version__ = "0.0.37" from . import loggs from .pipes import * diff --git a/src/pypelines/celery_tasks.py b/src/pypelines/celery_tasks.py index 501fce0359866b66a0293ce0575733ec8045eda9..f6722515e46e074950ed035e6e293fc502eb14c2 100644 --- a/src/pypelines/celery_tasks.py +++ b/src/pypelines/celery_tasks.py @@ -33,6 +33,7 @@ def get_runner(task_name: str): try: session = task.get_session() application = task.get_application() + arguments = task.arguments with LogTask(task) as log_object: logger = log_object.logger @@ -44,7 +45,13 @@ def get_runner(task_name: str): step: "BaseStep" = ( application.pipelines[task.pipeline_name].pipes[task.pipe_name].steps[task.step_name] ) - step.generate(session, extra=extra, skip=True, check_requirements=True, **task.arguments) + if arguments.get("refresh", False) or arguments.get("refresh_requirements", []): + skip = False + else: + skip = True + arguments.pop(skip) + + step.generate(session, extra=extra, skip=skip, check_requirements=True, **task.arguments) task.status_from_logs(log_object) except Exception as e: traceback_msg = format_traceback_exc()