code: @Override
    public void setTaskStatus(final JobId jobId, final TaskStatus status)
        throws InterruptedException {
      log.debug("setting task status: {}", status);
      taskStatuses.put(jobId.toString(), status.toJsonBytes());
      if (historyWriter != null) {
        try {
          historyWriter.saveHistoryItem(status);
        } catch (Exception e) {
          // Log error here and keep going as saving task history is not critical.
          // This is to prevent bad data in the queue from screwing up the actually important Helios
          // agent operations.
          log.error("Error saving task status {} to ZooKeeper: {}", status, e);
        }
      }
      final TaskStatusEvent event = new TaskStatusEvent(status, System.currentTimeMillis(), agent);
      final byte[] message = event.toJsonBytes();
      for (final EventSender sender : eventSenders) {
        sender.send(taskStatusEventTopic, message);
      }
    }
docs: Set the {@link TaskStatus} for the job identified by {@code jobId}.