private void RestartTask(TaskModel taskModel, string msg, Exception ex) { int repeatCrashCount = taskModel.ScheduleInformation.RepeatCrashCount - 1; //if (repeatCrashCount <= 1) //{ // logger.WriteTrace("All restart attempts have been expired. Task will be mark as failed."); // //TODO: Set RepeatCrashCount to 0 // //TODO: Add message why task has been failed. // TaskStateModel taskStateModel = new TaskStateModel(taskModel.Id, taskModel.QueueId, taskModel.ServerId, TaskStates.Failed); // taskDataContext.SetTaskState(taskStateModel); //} //else //{ TaskStateModel taskStateModel; if (repeatCrashCount > 0) { logger.WriteTrace("Task will be restarted."); taskStateModel = new TaskStateModel(taskModel.Id, taskModel.QueueId, taskModel.ServerId, TaskStates.New); } else { logger.WriteTrace("Task will be failed."); taskStateModel = new TaskStateModel(taskModel.Id, taskModel.QueueId, taskModel.ServerId, TaskStates.Failed); } taskDataContext.RestartTask(taskStateModel, timeShiftAfterCrash, repeatCrashCount, msg, ex); //} }
private void RestartTask(TaskModel taskModel, string msg, Exception ex) { int repeatCrashCount = taskModel.ScheduleInformation.RepeatCrashCount; if (repeatCrashCount <= 1) { logger.WriteTrace("All restart attempts have been expired. Task will be mark as failed."); //TODO: Set RepeatCrashCount to 0 //TODO: Add message why task has been failed. taskDataContext.SetTaskState(taskModel.Id, TaskStates.Failed); } else { logger.WriteTrace("Task wull be restarting."); taskDataContext.RestartTask(taskModel.Id, timeShiftAfterCrash, taskModel.ScheduleInformation.RepeatCrashCount - 1, msg, ex); } }