Esempio n. 1
0
    def __init__(
        self,
        task: Task,
        state_handlers: Iterable[Callable] = None,
        flow_result: Result = None,
    ):
        self.context = prefect.context.to_dict()
        self.task = task

        # Use result from task over the one provided off the parent Flow object
        if task.result:
            self.result = task.result
        else:
            self.result = Result().copy() if flow_result is None else flow_result.copy()

        self.flow_result = flow_result
        super().__init__(state_handlers=state_handlers)
Esempio n. 2
0
    def __init__(
        self,
        task: Task,
        state_handlers: Iterable[Callable] = None,
        result: Result = None,
        default_result: Result = None,
    ):
        self.context = prefect.context.to_dict()
        self.task = task

        # if the result was provided off the parent Flow object
        # we want to use the task's target as the target location
        if task.result:
            self.result = task.result
        else:
            self.result = Result().copy() if result is None else result.copy()
            if self.task.target:
                self.result.location = self.task.target
        self.default_result = default_result or Result()
        super().__init__(state_handlers=state_handlers)