示例#1
0
        /// <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;
        }
示例#2
0
        /// <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);
        }