Search in sources :

Example 1 with MetricsEvent

use of com.tencent.angel.master.metrics.MetricsEvent in project angel by Tencent.

the class MasterService method taskIteration.

/**
 * task update iteration number
 * @param controller rpc controller of protobuf
 * @param request contains task id, iteration number
 * @throws ServiceException
 */
@Override
public TaskIterationResponse taskIteration(RpcController controller, TaskIterationRequest request) throws ServiceException {
    LOG.debug("task iteration, " + request);
    TaskId taskId = ProtobufUtil.convertToId(request.getTaskId());
    // get Task meta from task manager, if can not find, just new a AMTask object and put it to task manager
    // in ANGEL_PS mode, task id may can not know advance
    AMTask task = context.getTaskManager().getTask(taskId);
    if (task == null) {
        task = new AMTask(taskId, null);
        context.getTaskManager().putTask(taskId, task);
    }
    // update task iteration
    task.iteration(request.getIteration());
    context.getEventHandler().handle(new MetricsEvent(MetricsEventType.TASK_ITERATION_UPDATE));
    return TaskIterationResponse.newBuilder().build();
}
Also used : TaskId(com.tencent.angel.worker.task.TaskId) MetricsEvent(com.tencent.angel.master.metrics.MetricsEvent) AMTask(com.tencent.angel.master.task.AMTask)

Aggregations

MetricsEvent (com.tencent.angel.master.metrics.MetricsEvent)1 AMTask (com.tencent.angel.master.task.AMTask)1 TaskId (com.tencent.angel.worker.task.TaskId)1