def build_synthetic_pipeline_error_record(run_id, error_info, pipeline_name):
    check.str_param(run_id, 'run_id')
    check.str_param(pipeline_name, 'pipeline_name')
    check.inst_param(error_info, 'error_info', SerializableErrorInfo)

    return DagsterEventRecord(
        message=error_info.message + '\nStack Trace:\n' +
        '\n'.join(error_info.stack),
        # Currently it is the user_message that is displayed to the user client side
        # in dagit even though that was not the original intent. The original
        # intent was that the user_message was the message generated by user code
        # communicated directly to the client. We need to rationalize the treatment
        # of these different error messages
        user_message=
        ('An exception was thrown during execution that is likely a framework error, '
         'rather than an error in user code.') + '\nOriginal error message: ' +
        error_info.message + '\nStack Trace:\n' + '\n'.join(error_info.stack),
        level=level_from_string('ERROR'),
        run_id=run_id,
        timestamp=time.time(),
        error_info=error_info,
        pipeline_name=pipeline_name,
        dagster_event=DagsterEvent(DagsterEventType.PIPELINE_FAILURE.value,
                                   pipeline_name),
    )
Exemple #2
0
def build_synthetic_pipeline_error_record(run_id, error_info, pipeline_name):
    return PipelineEventRecord(
        message=error_info.message,
        user_message=error_info.message,
        level=level_from_string('ERROR'),
        event_type=EventType.PIPELINE_FAILURE,
        run_id=run_id,
        timestamp=time.time(),
        error_info=error_info,
        pipeline_name=pipeline_name,
    )
def build_process_start_event(run_id, pipeline_name):
    message = 'About to start process for pipeline {pipeline_name} run_id {run_id}'.format(
        pipeline_name=pipeline_name, run_id=run_id)

    return PipelineEventRecord(
        message=message,
        user_message=message,
        level=level_from_string('INFO'),
        event_type=EventType.PIPELINE_PROCESS_START,
        run_id=run_id,
        timestamp=time.time(),
        error_info=None,
        pipeline_name=pipeline_name,
    )
def build_process_started_event(run_id, pipeline_name, process_id):
    message = 'Started process {process_id} for pipeline {pipeline_name} run_id {run_id}'.format(
        pipeline_name=pipeline_name, run_id=run_id, process_id=process_id)

    return PipelineProcessStartedEvent(
        message=message,
        user_message=message,
        level=level_from_string('INFO'),
        event_type=EventType.PIPELINE_PROCESS_STARTED,
        run_id=run_id,
        timestamp=time.time(),
        error_info=None,
        pipeline_name=pipeline_name,
        process_id=process_id,
    )
def build_process_started_event(run_id, pipeline_name, process_id):
    message = 'Started process {process_id} for pipeline {pipeline_name} run_id {run_id}'.format(
        pipeline_name=pipeline_name, run_id=run_id, process_id=process_id)

    return DagsterEventRecord(
        message=message,
        user_message=message,
        level=level_from_string('INFO'),
        run_id=run_id,
        timestamp=time.time(),
        error_info=None,
        pipeline_name=pipeline_name,
        dagster_event=DagsterEvent(
            event_type_value=DagsterEventType.PIPELINE_PROCESS_STARTED.value,
            pipeline_name=pipeline_name,
            step_key=None,
            solid_name=None,
            solid_definition_name=None,
            step_kind_value=None,
            tags=None,
            event_specific_data=PipelineProcessStartedData(process_id),
        ),
    )
Exemple #6
0
def _default_context_fn(init_context):
    log_level = level_from_string(init_context.context_config['log_level'])
    return ExecutionContext.console_logging(log_level)
Exemple #7
0
def _default_context_fn(info):
    log_level = level_from_string(info.config['log_level'])
    context = ExecutionContext(
        loggers=[define_colored_console_logger('dagster', level=log_level)])
    return context