public async Task Run() { try { await StartUp(); var newTasks = await _dataGatherer.PrepareData(Rules); _logger.LogTrace($"Trying to create {newTasks.Count()} new tasks @ {_processKey}"); var createTasksResponse = await _anymateService.CreateTasksAsync(newTasks, _processKey); if (!createTasksResponse.Succeeded) { _logger.LogError("Failed to create new tasks"); } await ShutDown(); } catch (Exception ex) { var failure = $"Got Exception with msg: {ex.Message} // from: {ex.Source} // stackTrace: {ex.StackTrace}"; _logger.LogError("Encountered a failure. " + failure); var failureResponse = await _anymateService.FailureAsync(_processKey, failure); if (!failureResponse.Succeeded) { _logger.LogError("Failed to register Failure with Anymate."); } return; } }
public async Task Run() { try { await StartUp(); var task = await _anymateService.TakeNextAsync <AnymateTask>(_processKey); while (task.TaskId > 0) { var worker = _workerFactory.GetWorker(Rules); var action = await worker.ProcessTask(task); var response = await ReturnTaskToAnymate(action); task = await _anymateService.TakeNextAsync <AnymateTask>(_processKey); } await ShutDown(); } catch (Exception ex) { var failure = $"Got Exception with msg: {ex.Message} // from: {ex.Source} // stackTrace: {ex.StackTrace}"; _logger.LogError("Encountered a failure. " + failure); var failureResponse = await _anymateService.FailureAsync(_processKey, failure); if (!failureResponse.Succeeded) { _logger.LogError("Failed to register Failure with Anymate."); } return; } }