@Override public String toString() { return String.format( "%s [%s] [%s %s %s] [%s] [%s, %s]", _workItem.toString(), _status, _dateCreated, _dateAssigned, _dateTerminated, _assignedWorker, (_lastTaskCheckResult == null) ? "null" : _lastTaskCheckResult.getStatus(), _dateLastTaskCheckedStatus); }
public static synchronized Task killTask(String taskId) { Task task = _taskLog.get(taskId); if (_mainSettings.getParentPid() <= 0) { throw new BatfishException("Cannot kill tasks when started in non-watchdog mode"); } else if (task == null) { throw new BatfishException("Task with provided id not found: " + taskId); } else if (task.getStatus().isTerminated()) { throw new BatfishException("Task with provided id already terminated " + taskId); } else { // update task details in case a new query for status check comes in task.newBatch("Got kill request"); task.setStatus(TaskStatus.TerminatedByUser); task.setTerminated(new Date()); task.setErrMessage("Terminated by user"); // we die after a little bit, to allow for the response making it back to the coordinator new java.util.Timer() .schedule( new java.util.TimerTask() { @Override public void run() { System.exit(0); } }, 3000); return task; } }
switch (task.getStatus()) { case Unscheduled: case InProgress: work.setStatus(WorkStatusCode.fromTerminatedTaskStatus(task.getStatus())); work.recordTaskCheckResult(task); if (wDetails.workType == WorkType.PARSING) { ProcessingStatus status = (task.getStatus() == TaskStatus.TerminatedNormally) ? ProcessingStatus.PARSED : ProcessingStatus.PARSING_FAIL; if (task.getStatus() == TaskStatus.TerminatedAbnormally || task.getStatus() == TaskStatus.TerminatedByUser) { WorkQueueMgr.updateInitializationStatus( wItem.getContainerName(), ProcessingStatus.DATAPLANING_FAIL, task.getErrMessage()); } else if (task.getStatus() == TaskStatus.TerminatedNormally) { WorkQueueMgr.updateInitializationStatus( wItem.getContainerName(), if (work.getLastTaskCheckResult().getStatus() == TaskStatus.UnreachableOrBadResponse) { default: throw new BatfishException( "Unhandled " + TaskStatus.class.getCanonicalName() + ": " + task.getStatus());