本文整理了Java中hudson.slaves.AbstractCloudComputer
类的一些代码示例,展示了AbstractCloudComputer
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。AbstractCloudComputer
类的具体详情如下:
包路径:hudson.slaves.AbstractCloudComputer
类名称:AbstractCloudComputer
[英]Partial implementation of Computer to be used in conjunction with AbstractCloudSlave.
[中]与AbstractCloudSlave结合使用的计算机的部分实现。
代码示例来源:origin: jenkinsci/jenkins
@Override
@GuardedBy("hudson.model.Queue.lock")
public long check(final AbstractCloudComputer c) {
final AbstractCloudSlave computerNode = c.getNode();
if (c.isIdle() && !disabled && computerNode != null) {
final long idleMilliseconds = System.currentTimeMillis() - c.getIdleStartMilliseconds();
if (idleMilliseconds > MINUTES.toMillis(idleMinutes)) {
LOGGER.log(Level.INFO, "Disconnecting {0}", c.getName());
try {
computerNode.terminate();
} catch (InterruptedException | IOException e) {
LOGGER.log(WARNING, "Failed to terminate " + c.getName(), e);
}
}
}
return 1;
}
代码示例来源:origin: jenkinsci/jenkins
/**
* Try to connect to it ASAP.
*/
@Override
public void start(AbstractCloudComputer c) {
c.connect(false);
}
代码示例来源:origin: jenkinsci/jenkins
/**
* When the agent is deleted, free the node right away.
*/
@Override
@RequirePOST
public HttpResponse doDoDelete() throws IOException {
checkPermission(DELETE);
try {
T node = getNode();
if (node != null) { // No need to terminate nodes again
node.terminate();
}
return new HttpRedirect("..");
} catch (InterruptedException e) {
return HttpResponses.error(500,e);
}
}
}
代码示例来源:origin: KostyaSha/yet-another-docker-plugin
@Override
@GuardedBy("hudson.model.Queue.lock")
public long check(final AbstractCloudComputer acc) {
// When the slave is idle we should disable accepting tasks and check to see if it is already trying to
// terminate. If it's not already trying to terminate then lets terminate manually.
if (acc.isIdle() && !disabled) {
final long idleMilliseconds = System.currentTimeMillis() - acc.getIdleStartMilliseconds();
if (idleMilliseconds > TimeUnit2.MINUTES.toMillis(idleMinutes)) {
LOG.debug("Disconnecting {}", acc.getName());
done(acc);
}
}
// Return one because we want to check every minute if idle.
return 1;
}
代码示例来源:origin: KostyaSha/yet-another-docker-plugin
protected void done(final AbstractCloudComputer<?> c) {
c.setAcceptingTasks(false); // just in case
synchronized (this) {
if (terminating) {
return;
}
terminating = true;
}
final Future<?> submit = Computer.threadPoolForRemoting.submit(() -> {
try {
AbstractCloudSlave node = c.getNode();
if (node != null) {
node.terminate();
}
} catch (InterruptedException | IOException e) {
LOG.warn("Failed to terminate " + c.getName(), e);
synchronized (DockerOnceRetentionStrategy.this) {
terminating = false;
}
}
}
);
}
代码示例来源:origin: jenkinsci/kubernetes-ci-plugin
@Override
public void run() {
try {
AbstractCloudSlave node = computer.getNode();
if (node != null) {
node.terminate();
}
} catch (InterruptedException e) {
LOGGER.log(Level.WARNING, "Failed to terminate " + computer.getName(), e);
} catch (IOException e) {
LOGGER.log(Level.WARNING, "Failed to terminate " + computer.getName(), e);
}
}
});
代码示例来源:origin: openshift/jenkins-cloud-plugin
@Override
public OpenShiftSlave getNode() {
return (OpenShiftSlave) super.getNode();
}
代码示例来源:origin: carlossg/jenkins-kubernetes-plugin
@Override
public void taskCompletedWithProblems(Executor executor, Queue.Task task, long durationMS, Throwable problems) {
super.taskCompletedWithProblems(executor, task, durationMS, problems);
LOGGER.log(Level.FINE, " Computer " + this + " taskCompletedWithProblems");
}
代码示例来源:origin: jenkinsci/openstack-cloud-plugin
@Override
public void taskAccepted(Executor executor, Queue.Task task) {
super.taskAccepted(executor, task);
used = true;
}
代码示例来源:origin: carlossg/jenkins-kubernetes-plugin
@Override
public void taskCompleted(Executor executor, Queue.Task task, long durationMS) {
LOGGER.log(Level.FINE, " Computer " + this + " taskCompleted");
// May take the agent offline and remove it, in which case getNode()
// above would return null and we'd not find our DockerSlave anymore.
super.taskCompleted(executor, task, durationMS);
}
代码示例来源:origin: jenkinsci/kubernetes-ci-plugin
private void terminate(final AbstractCloudComputer<?> computer) {
LOGGER.info("Terminating computer: " + computer.getName() );
computer.setAcceptingTasks(false); // just in case
Computer.threadPoolForRemoting.submit(new Runnable() {
@Override
public void run() {
try {
AbstractCloudSlave node = computer.getNode();
if (node != null) {
node.terminate();
}
} catch (InterruptedException e) {
LOGGER.log(Level.WARNING, "Failed to terminate " + computer.getName(), e);
} catch (IOException e) {
LOGGER.log(Level.WARNING, "Failed to terminate " + computer.getName(), e);
}
}
});
}
}
代码示例来源:origin: KostyaSha/yet-another-docker-plugin
protected void done(Executor executor) {
final AbstractCloudComputer<?> c = (AbstractCloudComputer) executor.getOwner();
Queue.Executable exec = executor.getCurrentExecutable();
if (executor instanceof OneOffExecutor) {
LOG.debug("Not terminating {} because {} was a flyweight task", c.getName(), exec);
return;
}
if (exec instanceof ContinuableExecutable && ((ContinuableExecutable) exec).willContinue()) {
LOG.debug("not terminating {} because {} says it will be continued", c.getName(), exec);
return;
}
LOG.debug("terminating {} since {} seems to be finished", c.getName(), exec);
done(c);
}
代码示例来源:origin: jenkinsci/openstack-cloud-plugin
@Override
public @CheckForNull JCloudsSlave getNode() {
return super.getNode();
}
代码示例来源:origin: jenkinsci/amazon-ecs-plugin
@Override
public void taskCompletedWithProblems(Executor executor, Queue.Task task, long durationMS, Throwable problems) {
super.taskCompletedWithProblems(executor, task, durationMS, problems);
LOGGER.log(Level.FINE, "[{0}]: taskCompletedWithProblems", this);
}
代码示例来源:origin: jenkinsci/kubernetes-ci-plugin
@Override
public void taskAccepted(Executor executor, Queue.Task task) {
super.taskAccepted(executor, task);
LOGGER.fine(" Computer " + this + " taskAccepted");
}
代码示例来源:origin: jenkinsci/amazon-ecs-plugin
@Override
public void taskCompleted(Executor executor, Queue.Task task, long durationMS) {
super.taskCompleted(executor, task, durationMS);
LOGGER.log(Level.FINE, "[{0}]: taskCompleted", this);
}
代码示例来源:origin: KostyaSha/yet-another-docker-plugin
@Override
public String toString() {
return MoreObjects.toStringHelper(this)
.add("name", super.getName())
.add("slave", getNode())
.toString();
}
代码示例来源:origin: org.jvnet.hudson.main/hudson-core
public synchronized long check(AbstractCloudComputer c) {
if (c.isIdle() && !disabled) {
final long idleMilliseconds = System.currentTimeMillis() - c.getIdleStartMilliseconds();
if (idleMilliseconds > MINUTES.toMillis(idleMinutes)) {
LOGGER.info("Disconnecting "+c.getName());
try {
c.getNode().terminate();
} catch (InterruptedException e) {
LOGGER.log(WARNING,"Failed to terminate "+c.getName(),e);
} catch (IOException e) {
LOGGER.log(WARNING,"Failed to terminate "+c.getName(),e);
}
}
}
return 1;
}
代码示例来源:origin: org.jvnet.hudson.main/hudson-core
/**
* When the slave is deleted, free the node.
*/
@Override
public HttpResponse doDoDelete() throws IOException {
checkPermission(DELETE);
try {
getNode().terminate();
return new HttpRedirect("..");
} catch (InterruptedException e) {
return HttpResponses.error(500,e);
}
}
}
代码示例来源:origin: KostyaSha/yet-another-docker-plugin
@Override
public void start(AbstractCloudComputer c) {
if (c.getNode() instanceof EphemeralNode) {
throw new IllegalStateException("May not use OnceRetentionStrategy on an EphemeralNode: " + c);
}
super.start(c);
}
内容来源于网络,如有侵权,请联系作者删除!