/// <summary> /// Setup AMS Workflow manager confguration /// </summary> /// <param name="ConfigurationStorageConnectionString">configuration storage connection string</param> private static void Setup(string ConfigurationStorageConnectionString) { string json = MBFConfiguration.GetConfigurationValue("roleconfig", ButlerWorkFlowManagerHostConfigKey, ConfigurationStorageConnectionString); myConfigData = Newtonsoft.Json.JsonConvert.DeserializeObject <ConfigurationData>(json); myConfigData.poisonQueue = MBFConfiguration.ButlerFailedQueue; myConfigData.inWorkQueueName = MBFConfiguration.ButlerSendQueue; myConfigData.ProcessConfigConn = ConfigurationStorageConnectionString; myConfigData.MaxCurrentProcess = myConfigData.MaxCurrentProcess; myConfigData.SleepDelay = myConfigData.SleepDelay; myConfigData.MaxDequeueCount = myConfigData.MaxDequeueCount; }
/// <summary> /// Execute all MBF watcher jobs /// </summary> /// <returns>null</returns> public async Task Run() { string s = MBFConfiguration.GetConfigurationValue("ContainersToScan", "MediaButler.Workflow.WorkerRole"); var containers = s.Split(','); string[] ContainersToScan = containers; var taskFailedRequests = Task.Run(() => JobManager.getWorkflowFailedOperations(Token, _storageAccountString)); var taskSuccessfulRequests = Task.Run(() => JobManager.getWorkflowSuccessOperations(Token, _storageAccountString)); var taskProcessIncomingJobs = Task.Run(() => BlobWatcher.runInboundJobWatcher(Token, _storageAccountString, ContainersToScan)); Task.WaitAll(taskFailedRequests, taskSuccessfulRequests, taskProcessIncomingJobs); }