예제 #1
0
파일: task.py 프로젝트: kalebinn/dbnd
class TaskRunInfoSchema(ApiObjectSchema):
    task_run_uid = fields.UUID()
    task_run_attempt_uid = fields.UUID()

    task_definition_uid = fields.UUID()
    run_uid = fields.UUID()
    task_id = fields.String()
    task_signature = fields.String()
    task_signature_source = fields.String()

    task_af_id = fields.String()
    execution_date = fields.DateTime()

    name = fields.String()

    env = fields.String()

    command_line = fields.String()
    functional_call = fields.String()

    has_downstreams = fields.Boolean()
    has_upstreams = fields.Boolean()

    is_reused = fields.Boolean()
    is_dynamic = fields.Boolean()
    is_system = fields.Boolean()
    is_skipped = fields.Boolean()
    is_root = fields.Boolean()
    output_signature = fields.String()

    state = EnumField(TaskRunState)
    target_date = fields.Date(allow_none=True)

    log_local = fields.String(allow_none=True)
    log_remote = fields.String(allow_none=True)

    version = fields.String()

    task_run_params = fields.Nested(TaskRunParamSchema, many=True)

    external_links = fields.Dict(allow_none=True)

    @post_load
    def make_task_run(self, data, **kwargs):
        return TaskRunInfo(**data)
예제 #2
0
파일: run.py 프로젝트: databand-ai/dbnd
class RunInfoSchema(ApiStrictSchema):
    root_run_uid = fields.UUID()
    run_uid = fields.UUID()

    job_name = fields.String()
    project_name = fields.String(allow_none=True)
    user = fields.String()

    name = fields.String()
    description = fields.String(allow_none=True)

    state = EnumField(RunState)
    start_time = fields.DateTime()
    end_time = fields.DateTime(allow_none=True)

    # deprecate
    dag_id = fields.String()
    cmd_name = fields.String(allow_none=True)

    execution_date = fields.DateTime()

    # move to task
    target_date = fields.Date(allow_none=True)
    version = fields.String(allow_none=True)

    driver_name = fields.String()
    is_archived = fields.Boolean()
    env_name = fields.String(allow_none=True)
    cloud_type = fields.String()
    trigger = fields.String()
    task_executor = fields.String(allow_none=True)

    root_run = fields.Nested(RootRunInfoSchema)
    scheduled_run = fields.Nested(ScheduledRunInfoSchema, allow_none=True)

    sends_heartbeat = fields.Boolean(default=False, allow_none=True)

    scheduled_job_name = fields.String(allow_none=True)
    scheduled_date = fields.DateTime(allow_none=True)

    external_links = fields.Dict(allow_none=True)

    @post_load
    def make_run_info(self, data, **kwargs):
        return _as_dotted_dict(**data)