in commit-status-publisher-server/src/main/java/jetbrains/buildServer/commitPublisher/CommitStatusPublisherListener.java [841:868]
public void accept(final PerformingTask task) {
Event eventType = getEventType(task);
SBuild build = getBuild(task);
// We are accepting the task. It will be either completed or will fail
// One way or another it will be marked as finished (see TW-69618)
task.finished();
if (eventType == null || build == null) {
eventProcessed(eventType);
return;
}
synchronized (myLastEvents) {
BuildPromotion buildPromotion = build.getBuildPromotion();
if (myLastEvents.get(buildPromotion.getId()) != null && eventType.isFirstTask()) {
eventProcessed(eventType);
return;
}
if (eventType.isConsequentTask())
myLastEvents.put(buildPromotion.getId(), eventType);
}
Long lastDelay = task.getLongArg2();
if (lastDelay != null && eventType == Event.STARTED && build.isFinished()) {
return;
}
runAsync(() -> runForEveryPublisher(eventType, build, lastDelay), () -> { eventProcessed(eventType); });
}