Interface PlanExecutionPermitter

All Known Implementing Classes:
AbstractPlanExecutionPermitter, BranchMetadataBuildPermitter, ExecutionLimitsServiceImpl, PlanExecutionConcurrencyServiceImpl, PluggablePlanExecutionPermitter, UniqueRunPerKeyPlanExecutionPermitter

@Internal public interface PlanExecutionPermitter
Service to check against the chain's ConcurrentBuildConfig
  • Method Details

    • isPermittedToExecute

      boolean isPermittedToExecute(@NotNull @NotNull ImmutableChain chain, @NotNull @NotNull ErrorCollection errorCollection)
      Checks a condition in order to determine if the plan can be executed. Note: use isPermittedToExecute(ImmutableChain, PlanResultKey, ErrorCollection) when build is restarted/continued.
      Parameters:
      chain -
      errorCollection -
      Returns:
      allowedToExecute
    • isPermittedToExecute

      boolean isPermittedToExecute(@NotNull @NotNull ImmutableChain chain, @Nullable @Nullable PlanResultKey resultKey, @NotNull @NotNull ErrorCollection errorCollection)
      Checks a condition in order to determine if the plan can be executed.
      Parameters:
      chain -
      resultKey - key of a result, if it's restarted or continued build
      errorCollection -
      Returns:
      allowedToExecute
    • setChainedExecutionPermitter

      void setChainedExecutionPermitter(@Nullable @Nullable PlanExecutionPermitter chainedExecutionPermitter)