Search in sources :

Example 1 with DistributionQueueState

use of org.apache.sling.distribution.queue.DistributionQueueState in project sling by apache.

the class SimpleDistributionAgent method getState.

@Nonnull
public DistributionAgentState getState() {
    DistributionAgentState agentState = DistributionAgentState.IDLE;
    // if it is passive and it is not a queueing agent
    if (isPassive() && distributionPackageImporter != null) {
        return DistributionAgentState.PAUSED;
    }
    for (String queueName : getQueueNames()) {
        DistributionQueue queue = getQueue(queueName);
        DistributionQueueState state = queue.getStatus().getState();
        if (DistributionQueueState.BLOCKED == state) {
            return DistributionAgentState.BLOCKED;
        }
        if (DistributionQueueState.RUNNING == state) {
            agentState = DistributionAgentState.RUNNING;
        }
    }
    return agentState;
}
Also used : DistributionAgentState(org.apache.sling.distribution.agent.DistributionAgentState) SimpleAgentDistributionQueue(org.apache.sling.distribution.queue.impl.SimpleAgentDistributionQueue) DistributionQueue(org.apache.sling.distribution.queue.DistributionQueue) DistributionQueueState(org.apache.sling.distribution.queue.DistributionQueueState) Nonnull(javax.annotation.Nonnull)

Example 2 with DistributionQueueState

use of org.apache.sling.distribution.queue.DistributionQueueState in project sling by apache.

the class JobHandlingDistributionQueue method getStatus.

@Override
@Nonnull
public DistributionQueueStatus getStatus() {
    List<Job> jobs = getJobs(0, -1);
    Job firstJob = jobs.size() > 0 ? jobs.get(0) : null;
    DistributionQueueItem firstItem = firstJob != null ? JobHandlingUtils.getItem(firstJob) : null;
    DistributionQueueItemStatus firstItemStatus = firstJob != null ? JobHandlingUtils.getStatus(firstJob) : null;
    DistributionQueueState state = DistributionQueueUtils.calculateState(firstItem, firstItemStatus);
    if (!isActive) {
        state = DistributionQueueState.PASSIVE;
    }
    int itemsCount = jobs.size();
    return new DistributionQueueStatus(itemsCount, state);
}
Also used : DistributionQueueStatus(org.apache.sling.distribution.queue.DistributionQueueStatus) DistributionQueueItemStatus(org.apache.sling.distribution.queue.DistributionQueueItemStatus) Job(org.apache.sling.event.jobs.Job) DistributionQueueState(org.apache.sling.distribution.queue.DistributionQueueState) DistributionQueueItem(org.apache.sling.distribution.queue.DistributionQueueItem) Nonnull(javax.annotation.Nonnull)

Aggregations

Nonnull (javax.annotation.Nonnull)2 DistributionQueueState (org.apache.sling.distribution.queue.DistributionQueueState)2 DistributionAgentState (org.apache.sling.distribution.agent.DistributionAgentState)1 DistributionQueue (org.apache.sling.distribution.queue.DistributionQueue)1 DistributionQueueItem (org.apache.sling.distribution.queue.DistributionQueueItem)1 DistributionQueueItemStatus (org.apache.sling.distribution.queue.DistributionQueueItemStatus)1 DistributionQueueStatus (org.apache.sling.distribution.queue.DistributionQueueStatus)1 SimpleAgentDistributionQueue (org.apache.sling.distribution.queue.impl.SimpleAgentDistributionQueue)1 Job (org.apache.sling.event.jobs.Job)1