def resolve_nodes(self, graphene_info): pipeline = get_pipeline_reference_or_raise(graphene_info, self._pipeline_run.selector) if isinstance(pipeline, DauphinPipeline): pipeline_def = get_pipeline_def_from_selector( graphene_info, self._pipeline_run.selector) execution_plan = create_execution_plan( pipeline_def, self._pipeline_run.environment_dict, mode=self._pipeline_run.mode, step_keys_to_execute=self._pipeline_run.step_keys_to_execute, ) execution_plan_index = ExecutionPlanIndex.from_plan_and_index( execution_plan, pipeline_def.get_pipeline_index()) else: pipeline = None execution_plan = None execution_plan_index = None return [ from_event_record(graphene_info, log, pipeline, execution_plan_index) for log in graphene_info.context.instance.all_logs(self._pipeline_run.run_id) ]
def resolve_executionPlan(self, graphene_info): if (self._pipeline_run.execution_plan_snapshot_id and self._pipeline_run.pipeline_snapshot_id): from .execution import DauphinExecutionPlan instance = graphene_info.context.instance execution_plan_snapshot = instance.get_execution_plan_snapshot( self._pipeline_run.execution_plan_snapshot_id) pipeline_snapshot = instance.get_pipeline_snapshot( self._pipeline_run.pipeline_snapshot_id) return (DauphinExecutionPlan( ExecutionPlanIndex( execution_plan_snapshot=execution_plan_snapshot, pipeline_index=PipelineIndex(pipeline_snapshot), )) # check this in case fetches fail if execution_plan_snapshot and pipeline_snapshot else None) else: # "legacy" code path for runs created before pipeline and # execution plan snapshots. pipeline = self.resolve_pipeline(graphene_info) if isinstance(pipeline, DauphinPipeline): selector = self._pipeline_run.selector environment_dict = self._pipeline_run.environment_dict mode = self._pipeline_run.mode pipeline_def = get_pipeline_def_from_selector( graphene_info, selector) if is_config_valid(pipeline_def, environment_dict, mode): return get_execution_plan(graphene_info, selector, environment_dict, mode) return None
def resolve_executionPlan(self, graphene_info): pipeline = self.resolve_pipeline(graphene_info) if isinstance(pipeline, DauphinPipeline): execution_plan = create_execution_plan( get_pipeline_def_from_selector(graphene_info, self._pipeline_run.selector), self._pipeline_run.environment_dict, RunConfig(mode=self._pipeline_run.mode), ) return graphene_info.schema.type_named('ExecutionPlan')(pipeline, execution_plan) else: return None
def resolve_executionPlan(self, graphene_info): pipeline = self.resolve_pipeline(graphene_info) if isinstance(pipeline, DauphinPipeline): selector = self._pipeline_run.selector environment_dict = self._pipeline_run.environment_dict mode = self._pipeline_run.mode pipeline_def = get_pipeline_def_from_selector( graphene_info, selector) if is_config_valid(pipeline_def, environment_dict, mode): return get_execution_plan(graphene_info, selector, environment_dict, mode) return None
def resolve_nodes(self, graphene_info): pipeline = get_pipeline_reference_or_raise(graphene_info, self._pipeline_run.selector) if isinstance(pipeline, DauphinPipeline): execution_plan = create_execution_plan( get_pipeline_def_from_selector(graphene_info, self._pipeline_run.selector), self._pipeline_run.environment_dict, RunConfig(mode=self._pipeline_run.mode), ) else: pipeline = None execution_plan = None return [ from_event_record(graphene_info, log, pipeline, execution_plan) for log in graphene_info.context.instance.all_logs(self._pipeline_run.run_id) ]
def create_execution_params(graphene_info, graphql_execution_params): preset_name = graphql_execution_params.get('preset') if preset_name: check.invariant( not graphql_execution_params.get('environmentConfigData'), 'Invalid ExecutionParams. Cannot define environment_dict when using preset', ) check.invariant( not graphql_execution_params.get('mode'), 'Invalid ExecutionParams. Cannot define mode when using preset', ) selector = graphql_execution_params['selector'].to_selector() check.invariant( not selector.solid_subset, 'Invalid ExecutionParams. Cannot define selector.solid_subset when using preset', ) pipeline_def = get_pipeline_def_from_selector(graphene_info, selector) if not pipeline_def.has_preset(preset_name): raise UserFacingGraphQLError( graphene_info.schema.type_named('PresetNotFoundError')( preset=preset_name, selector=selector)) preset = pipeline_def.get_preset(preset_name) return ExecutionParams( selector=ExecutionSelector(selector.name, preset.solid_subset), environment_dict=preset.environment_dict, mode=preset.mode, execution_metadata=create_execution_metadata( graphql_execution_params.get('executionMetadata')), step_keys=graphql_execution_params.get('stepKeys'), previous_run_id=graphql_execution_params.get('retryRunId'), ) return execution_params_from_graphql(graphql_execution_params)