code: @Override
      public final void run() {
          String taskID = m_taskRecord.getTaskID();
          m_logger.debug("Starting task '{}' in tenant '{}'", taskID, m_tenant);
          try {
              TaskManagerService.instance().registerTaskStarted(this);
              m_lastProgressTimestamp = System.currentTimeMillis();
              setTaskStart();
              execute();
              setTaskFinish();
          } catch (Throwable e) {
              m_logger.error("Task '" + taskID + "' failed", e);
              String stackTrace = Utils.getStackTrace(e);
              setTaskFailed(stackTrace);
          } finally {
              TaskManagerService.instance().registerTaskEnded(this);
          }
      }
docs: Called by the TaskManagerService to begin the execution of the task.