Example #1
0
    def resolve_runs(self, graphene_info, **kwargs):
        from .pipelines.pipeline import GrapheneRun

        if kwargs.get("limit") and self._batch_loader:
            limit = kwargs["limit"]
            records = (self._batch_loader.get_run_records_for_sensor(
                self._instigator_state.name, limit)
                       if self._instigator_state.instigator_type
                       == InstigatorType.SENSOR else
                       self._batch_loader.get_run_records_for_schedule(
                           self._instigator_state.name, limit))
            return [GrapheneRun(record) for record in records]

        if self._instigator_state.instigator_type == InstigatorType.SENSOR:
            filters = RunsFilter.for_sensor(self._instigator_state)
        else:
            filters = RunsFilter.for_schedule(self._instigator_state)
        return [
            GrapheneRun(record)
            for record in graphene_info.context.instance.get_run_records(
                filters=filters,
                limit=kwargs.get("limit"),
            )
        ]
Example #2
0
 def resolve_runsCount(self, graphene_info):
     if self._instigator_state.instigator_type == InstigatorType.SENSOR:
         filters = RunsFilter.for_sensor(self._instigator_state)
     else:
         filters = RunsFilter.for_schedule(self._instigator_state)
     return graphene_info.context.instance.get_runs_count(filters=filters)