protected override void RunTask(QueuedTask queuedTask)
 {
     _log.Info($"Running task {queuedTask.Id}");
     if (queuedTask.GetType() == typeof(QueuedModuleTask))
     {
         RunModuleTask(queuedTask as QueuedModuleTask);
     }
     else
     {
         if (queuedTask.GetType() == typeof(QueuedInternalTask))
         {
             var task = (QueuedInternalTask)queuedTask;
             switch(task.TaskType)
             {
                 case InternalTaskType.PersistResults:
                     internalTaskPersistResults();
                     break;
                 case InternalTaskType.UploadResults:
                     internalTaskUploadResults();
                     break;
                 case InternalTaskType.SendHeartbeat:
                     internalTaskSendHeartbeat();
                     break;
                 default:
                 break;
             }
         }
     }
 }