com.atlassian.bamboo.plan
Interface NonBlockingPlanExecutionService

All Known Implementing Classes:
NonBlockingPlanExecutionServiceImpl

@Internal
public interface NonBlockingPlanExecutionService

An alternative to PlanExecutionManager that will run the change detection in the background.

Since:
v4.0

Method Summary
 void enqueueTrigger(Triggerable triggerable, Long triggerId, BuildDetectionAction buildDetectionAction)
          Submits a background task to run PlanExecutionManager.start(com.atlassian.bamboo.plan.cache.ImmutableChain, com.atlassian.bamboo.build.BuildDetectionAction, com.atlassian.bamboo.util.AcquisitionPolicy).
 ExecutorStats getExecutorStats()
          Stats for the underlying ThreadPoolExecutor
 Future<Boolean> shutdown()
          Stop accepting any more trigger requests.
 Future<ExecutionRequestResult> tryToStart(Triggerable triggerable, BuildDetectionAction buildDetectionAction)
          Submits a background task to run PlanExecutionManager.start(com.atlassian.bamboo.plan.cache.ImmutableChain, com.atlassian.bamboo.build.BuildDetectionAction, com.atlassian.bamboo.util.AcquisitionPolicy).
 

Method Detail

tryToStart

@Nullable
Future<ExecutionRequestResult> tryToStart(@NotNull
                                                   Triggerable triggerable,
                                                   @NotNull
                                                   BuildDetectionAction buildDetectionAction)
Submits a background task to run PlanExecutionManager.start(com.atlassian.bamboo.plan.cache.ImmutableChain, com.atlassian.bamboo.build.BuildDetectionAction, com.atlassian.bamboo.util.AcquisitionPolicy). The task uses AcquisitionPolicy.WAIT. To be used for triggers that are 'unconditional'. In other words, the method should be used for cases where build absolutely, positively needs to trigger (unless encountering internal error or hitting concurrent build limit)

Parameters:
triggerable -
buildDetectionAction -
Returns:

enqueueTrigger

void enqueueTrigger(@NotNull
                    Triggerable triggerable,
                    @NotNull
                    Long triggerId,
                    @NotNull
                    BuildDetectionAction buildDetectionAction)
Submits a background task to run PlanExecutionManager.start(com.atlassian.bamboo.plan.cache.ImmutableChain, com.atlassian.bamboo.build.BuildDetectionAction, com.atlassian.bamboo.util.AcquisitionPolicy). Only one AcquisitionPolicy.IMMEDIATE per planKey + triggerId combination will be queued at any point in time. The task are not guaranteed to be run, they might get dropped if tryToStart(Triggerable, BuildDetectionAction) is called. Rationale is: conditional triggers won't start anyway if there's a 'guaranteed' build run. To be used with automatic triggers: any auto Trigger can have Trigger Conditions defined

Parameters:
triggerable -
buildDetectionAction -

getExecutorStats

@NotNull
ExecutorStats getExecutorStats()
Stats for the underlying ThreadPoolExecutor

Returns:

shutdown

Future<Boolean> shutdown()
Stop accepting any more trigger requests.

Since:
5.8


Copyright © 2015 Atlassian Software Systems Pty Ltd. All rights reserved.