Beispiel #1
0
    def execute(self, context):
        """
        Loads and merges data from report files of all finished tasks in a DAG.
        Relocates results to the "outputs_folder", removes "tmp_folder"
        """

        setup_cwl_logger(context["ti"])
        post_status(context)

        _, workflow_report = relocate_outputs(
            workflow=context["dag"].workflow,
            job_data=collect_reports(context),
            cwl_args=context["dag"].default_args["cwl"])

        return workflow_report
Beispiel #2
0
    def execute(self, context):
        """
        Creates job from collected reports of all finished tasks in a DAG.
        Then executes a workflow constructed from the workflow step. Writes
        report file location to X-Com.
        """

        post_status(context)

        self.job_data = collect_reports(
            context)  # we need it also in "on_kill"
        _, step_report = execute_workflow_step(
            workflow=context["dag"].workflow,
            task_id=self.task_id,
            job_data=self.job_data,
            cwl_args=context["dag"].default_args["cwl"])

        return step_report
Beispiel #3
0
    def execute(self, context):
        """
        Creates job from collected reports of all finished tasks in a DAG.
        Then executes a workflow constructed from the workflow step. Writes
        report file location to X-Com.
        """

        setup_cwl_logger(context["ti"])
        post_status(context)

        self.job_data = collect_reports(context)         # we need it also in "on_kill"
        _, step_report, skipped = execute_workflow_step(
            workflow=context["dag"].workflow,
            task_id=self.task_id,
            job_data=self.job_data,
            cwl_args=context["dag"].default_args["cwl"]
        )

        if skipped:
            self.xcom_push(context, XCOM_RETURN_KEY, step_report)       # need to save empty report before raising exception
            raise AirflowSkipException("Skip workflow step execution")  # to mark it as skipped for Airflow

        return step_report