Search in sources :

Example 1 with PSAttemptEvent

use of com.tencent.angel.master.ps.attempt.PSAttemptEvent in project angel by Tencent.

the class LocalContainerLauncher method launch.

@SuppressWarnings("unchecked")
private void launch(ContainerLauncherEvent event) {
    Id id = event.getId();
    if (id instanceof PSAttemptId) {
        LocalPS ps = new LocalPS((PSAttemptId) id, context.getMasterService().getLocation(), context.getConf());
        context.getEventHandler().handle(new PSAttemptEvent(PSAttemptEventType.PA_CONTAINER_LAUNCHED, (PSAttemptId) id));
        try {
            ps.start();
            LocalClusterContext.get().addPS((PSAttemptId) id, ps);
        } catch (Exception e) {
            LOG.error("launch ps failed.", e);
            context.getEventHandler().handle(new PSAttemptEvent(PSAttemptEventType.PA_CONTAINER_LAUNCH_FAILED, (PSAttemptId) id));
        }
    } else if (id instanceof PSAgentAttemptId) {
        context.getEventHandler().handle(new PSAgentAttemptEvent(PSAgentAttemptEventType.PSAGENT_ATTEMPT_CONTAINER_LAUNCHED, (PSAgentAttemptId) id));
    } else if (id instanceof WorkerAttemptId) {
        LocalWorker worker = new LocalWorker(context.getConf(), context.getApplicationId(), context.getUser(), (WorkerAttemptId) id, context.getMasterService().getLocation(), 0, false);
        context.getEventHandler().handle(new WorkerAttemptEvent(WorkerAttemptEventType.CONTAINER_LAUNCHED, (WorkerAttemptId) id));
        try {
            worker.start();
            LocalClusterContext.get().addWorker((WorkerAttemptId) id, worker);
        } catch (Exception e) {
            LOG.error("launch worker failed.", e);
            context.getEventHandler().handle(new WorkerAttemptEvent(WorkerAttemptEventType.CONTAINER_LAUNCH_FAILED, (WorkerAttemptId) id));
        }
    }
}
Also used : PSAttemptId(com.tencent.angel.ps.PSAttemptId) PSAgentAttemptEvent(com.tencent.angel.master.psagent.PSAgentAttemptEvent) WorkerAttemptId(com.tencent.angel.worker.WorkerAttemptId) LocalWorker(com.tencent.angel.localcluster.LocalWorker) LocalPS(com.tencent.angel.localcluster.LocalPS) PSAgentAttemptId(com.tencent.angel.psagent.PSAgentAttemptId) WorkerAttemptEvent(com.tencent.angel.master.worker.attempt.WorkerAttemptEvent) PSAttemptId(com.tencent.angel.ps.PSAttemptId) WorkerAttemptId(com.tencent.angel.worker.WorkerAttemptId) Id(com.tencent.angel.common.Id) PSAgentAttemptId(com.tencent.angel.psagent.PSAgentAttemptId) PSAttemptEvent(com.tencent.angel.master.ps.attempt.PSAttemptEvent)

Example 2 with PSAttemptEvent

use of com.tencent.angel.master.ps.attempt.PSAttemptEvent in project angel by Tencent.

the class AMParameterServer method addAndScheduleAttempt.

@SuppressWarnings("unchecked")
private void addAndScheduleAttempt() {
    PSAttempt attempt = null;
    writeLock.lock();
    try {
        attempt = createPSAttempt();
        attempts.put(attempt.getId(), attempt);
        LOG.info("scheduling " + attempt.getId());
        runningPSAttemptId = attempt.getId();
    } finally {
        writeLock.unlock();
    }
    // getContext().getLocationManager().setPsLocation(id, null);
    getContext().getEventHandler().handle(new PSAttemptEvent(PSAttemptEventType.PA_SCHEDULE, attempt.getId()));
}
Also used : PSAttempt(com.tencent.angel.master.ps.attempt.PSAttempt) PSAttemptEvent(com.tencent.angel.master.ps.attempt.PSAttemptEvent)

Aggregations

PSAttemptEvent (com.tencent.angel.master.ps.attempt.PSAttemptEvent)2 Id (com.tencent.angel.common.Id)1 LocalPS (com.tencent.angel.localcluster.LocalPS)1 LocalWorker (com.tencent.angel.localcluster.LocalWorker)1 PSAttempt (com.tencent.angel.master.ps.attempt.PSAttempt)1 PSAgentAttemptEvent (com.tencent.angel.master.psagent.PSAgentAttemptEvent)1 WorkerAttemptEvent (com.tencent.angel.master.worker.attempt.WorkerAttemptEvent)1 PSAttemptId (com.tencent.angel.ps.PSAttemptId)1 PSAgentAttemptId (com.tencent.angel.psagent.PSAgentAttemptId)1 WorkerAttemptId (com.tencent.angel.worker.WorkerAttemptId)1