Class MemoryExecutionRepository

java.lang.Object
io.kestra.repository.memory.MemoryExecutionRepository
All Implemented Interfaces:
io.kestra.core.repositories.ExecutionRepositoryInterface, io.kestra.core.repositories.SaveRepositoryInterface<io.kestra.core.models.executions.Execution>

@Singleton @MemoryRepositoryEnabled public class MemoryExecutionRepository extends Object implements io.kestra.core.repositories.ExecutionRepositoryInterface
  • Constructor Details

    • MemoryExecutionRepository

      public MemoryExecutionRepository()
  • Method Details

    • isTaskRunEnabled

      public Boolean isTaskRunEnabled()
      Specified by:
      isTaskRunEnabled in interface io.kestra.core.repositories.ExecutionRepositoryInterface
    • find

      public io.kestra.core.repositories.ArrayListTotal<io.kestra.core.models.executions.Execution> find(io.micronaut.data.model.Pageable pageable, String query, String tenantId, String namespace, String flowId, ZonedDateTime startDate, ZonedDateTime endDate, List<io.kestra.core.models.flows.State.Type> state, @Nullable Map<String,String> labels, @Nullable String triggerExecutionId, @Nullable io.kestra.core.repositories.ExecutionRepositoryInterface.ChildFilter childFilter)
      Specified by:
      find in interface io.kestra.core.repositories.ExecutionRepositoryInterface
    • find

      public reactor.core.publisher.Flux<io.kestra.core.models.executions.Execution> find(@Nullable String query, @Nullable String tenantId, @Nullable String namespace, @Nullable String flowId, @Nullable ZonedDateTime startDate, @Nullable ZonedDateTime endDate, @Nullable List<io.kestra.core.models.flows.State.Type> state, @Nullable Map<String,String> labels, @Nullable String triggerExecutionId, @Nullable io.kestra.core.repositories.ExecutionRepositoryInterface.ChildFilter childFilter)
      Specified by:
      find in interface io.kestra.core.repositories.ExecutionRepositoryInterface
    • findTaskRun

      public io.kestra.core.repositories.ArrayListTotal<io.kestra.core.models.executions.TaskRun> findTaskRun(io.micronaut.data.model.Pageable pageable, @Nullable String query, @Nullable String tenantId, @Nullable String namespace, @Nullable String flowId, @Nullable ZonedDateTime startDate, @Nullable ZonedDateTime endDate, @Nullable List<io.kestra.core.models.flows.State.Type> states, @Nullable Map<String,String> labels, @Nullable String triggerExecutionId, @Nullable io.kestra.core.repositories.ExecutionRepositoryInterface.ChildFilter childFilter)
      Specified by:
      findTaskRun in interface io.kestra.core.repositories.ExecutionRepositoryInterface
    • delete

      public io.kestra.core.models.executions.Execution delete(io.kestra.core.models.executions.Execution execution)
      Specified by:
      delete in interface io.kestra.core.repositories.ExecutionRepositoryInterface
    • purge

      public Integer purge(io.kestra.core.models.executions.Execution execution)
      Specified by:
      purge in interface io.kestra.core.repositories.ExecutionRepositoryInterface
    • findById

      public Optional<io.kestra.core.models.executions.Execution> findById(String tenantId, String executionId)
      Specified by:
      findById in interface io.kestra.core.repositories.ExecutionRepositoryInterface
    • findByFlowId

      public io.kestra.core.repositories.ArrayListTotal<io.kestra.core.models.executions.Execution> findByFlowId(String tenantId, String namespace, String flowId, io.micronaut.data.model.Pageable pageable)
      Specified by:
      findByFlowId in interface io.kestra.core.repositories.ExecutionRepositoryInterface
    • findAllByTriggerExecutionId

      public reactor.core.publisher.Flux<io.kestra.core.models.executions.Execution> findAllByTriggerExecutionId(String tenantId, String triggerExecutionId)
      Specified by:
      findAllByTriggerExecutionId in interface io.kestra.core.repositories.ExecutionRepositoryInterface
    • save

      public io.kestra.core.models.executions.Execution save(io.kestra.core.models.executions.Execution execution)
      Specified by:
      save in interface io.kestra.core.repositories.ExecutionRepositoryInterface
      Specified by:
      save in interface io.kestra.core.repositories.SaveRepositoryInterface<io.kestra.core.models.executions.Execution>
    • update

      public io.kestra.core.models.executions.Execution update(io.kestra.core.models.executions.Execution execution)
      Specified by:
      update in interface io.kestra.core.repositories.ExecutionRepositoryInterface
    • dailyGroupByFlowStatistics

      public Map<String,Map<String,List<io.kestra.core.models.executions.statistics.DailyExecutionStatistics>>> dailyGroupByFlowStatistics(@Nullable String query, @Nullable String tenantId, @Nullable String namespace, @Nullable String flowId, @Nullable List<io.kestra.core.repositories.ExecutionRepositoryInterface.FlowFilter> flows, @Nullable ZonedDateTime startDate, @Nullable ZonedDateTime endDate, boolean groupByNamespaceOnly)
      Specified by:
      dailyGroupByFlowStatistics in interface io.kestra.core.repositories.ExecutionRepositoryInterface
    • executionCounts

      public List<io.kestra.core.models.executions.statistics.ExecutionCount> executionCounts(@Nullable String tenantId, List<io.kestra.core.models.executions.statistics.Flow> flows, @Nullable List<io.kestra.core.models.flows.State.Type> states, @Nullable ZonedDateTime startDate, @Nullable ZonedDateTime endDate)
      Specified by:
      executionCounts in interface io.kestra.core.repositories.ExecutionRepositoryInterface
    • dailyStatistics

      public List<io.kestra.core.models.executions.statistics.DailyExecutionStatistics> dailyStatistics(@Nullable String query, @Nullable String tenantId, @Nullable String namespace, @Nullable String flowId, @Nullable ZonedDateTime startDate, @Nullable ZonedDateTime endDate, @Nullable io.kestra.core.utils.DateUtils.GroupType groupBy, boolean isTaskRun)
      Specified by:
      dailyStatistics in interface io.kestra.core.repositories.ExecutionRepositoryInterface
    • lastExecutions

      public List<io.kestra.core.models.executions.Execution> lastExecutions(@Nullable String tenantId, List<io.kestra.core.repositories.ExecutionRepositoryInterface.FlowFilter> flows)
      Specified by:
      lastExecutions in interface io.kestra.core.repositories.ExecutionRepositoryInterface
    • maxTaskRunSetting

      public Integer maxTaskRunSetting()
      Specified by:
      maxTaskRunSetting in interface io.kestra.core.repositories.ExecutionRepositoryInterface
    • dailyStatisticsForAllTenants

      public List<io.kestra.core.models.executions.statistics.DailyExecutionStatistics> dailyStatisticsForAllTenants(@Nullable String query, @Nullable String namespace, @Nullable String flowId, @Nullable ZonedDateTime startDate, @Nullable ZonedDateTime endDate, @Nullable io.kestra.core.utils.DateUtils.GroupType groupBy, boolean isTaskRun)
      Specified by:
      dailyStatisticsForAllTenants in interface io.kestra.core.repositories.ExecutionRepositoryInterface