コード例 #1
0
 public ExecutableResult Execute(string value)
 {
     try
     {
         Statics.ShouldPollXenStore = false;
         _logger.Log(String.Format("Updater Update value: {0}\r\nWill resume in 60 seconds", value));
         _sleeper.Sleep(60);
         _connectionChecker.Check();
         var agentUpdateInfo = _agentUpdateMessageHandler.Handle(value);
         _downloader.Download(agentUpdateInfo.url, Constants.UpdaterReleasePackage);
         _checksumValidator.Validate(agentUpdateInfo.signature, Constants.UpdaterReleasePackage);
         _unzipper.Unzip(Constants.UpdaterReleasePackage, Constants.UpdaterUnzipPath, "");
         _serviceStopper.Stop("RackspaceCloudServersAgentUpdater");
         _fileCopier.CopyFiles(Constants.UpdaterUnzipPath, Constants.UpdaterPath, _logger);
         _serviceStarter.Start("RackspaceCloudServersAgentUpdater");
         Statics.ShouldPollXenStore = true;
         return(new ExecutableResult());
     }
     catch (Exception ex)
     {
         _logger.Log(String.Format("Exception was : {0}\nStackTrace Was: {1}", ex.Message, ex.StackTrace));
         return(new ExecutableResult {
             Error = new List <string> {
                 "Update failed"
             }, ExitCode = "1"
         });
     }
     finally
     {
         _finalizer.Finalize(new List <string> {
             Constants.UpdaterUnzipPath, Constants.UpdaterReleasePackage
         });
     }
 }
コード例 #2
0
ファイル: frmMain.cs プロジェクト: rullgrus/NodeMCU-Wixel
        private void UpdateData()
        {
            if (_isUpdateInProgress)
            {
                return;
            }

            SetUpdateInProgress(true);
            var nodes = _nodeRepository.GetAll();

            _connectionChecker.Check(nodes, OneBegin, OneDone, AllDone);
        }
コード例 #3
0
 public int Count(AbstractConnection connection, Entity entity, bool useAlias)
 {
     if (_connectionChecker == null || _connectionChecker.Check(connection))
     {
         if (_entityExists.Exists(connection, entity))
         {
             using (var cn = connection.GetConnection()) {
                 cn.Open();
                 var sql = string.Format("SELECT COUNT(*) FROM [{0}].[{1}] WITH (NOLOCK);", entity.Schema, entity.OutputName());
                 var cmd = cn.CreateCommand();
                 cmd.CommandText = sql;
                 return((int)cmd.ExecuteScalar());
             }
         }
     }
     return(0);
 }
コード例 #4
0
        public ExecutableResult Execute(string value)
        {
            _connectionChecker.Check();
            _logger.Log("Agent Update value: " + value);
            var agentUpdateInfo = _agentUpdateMessageHandler.Handle(value);

            try {
                _agentUpdateMessageSender.Send(agentUpdateInfo);

                Statics.ShouldPollXenStore = false;
                return(new ExecutableResult());
            }
            catch (Exception ex) {
                _logger.Log("Exception was : " + ex.Message + "\nStackTrace Was: " + ex.StackTrace);
                return(new ExecutableResult {
                    Error = new List <string> {
                        "Update failed"
                    }, ExitCode = "1"
                });
            }
        }
コード例 #5
0
 public ExecutableResult Execute(string value)
 {
     try
     {
         Statics.ShouldPollXenStore = false;
         _logger.Log(String.Format("XenTools Update value: {0}\r\nWill resume in 60 seconds", value));
         _sleeper.Sleep(60);
         _connectionChecker.Check();
         var agentUpdateInfo = _agentUpdateMessageHandler.Handle(value);
         _downloader.Download(agentUpdateInfo.url, Constants.XenToolsReleasePackage);
         _checksumValidator.Validate(agentUpdateInfo.signature, Constants.XenToolsReleasePackage);
         _unzipper.Unzip(Constants.XenToolsReleasePackage, Constants.XenToolsUnzipPath, "");
         _installer.Install(new Dictionary <string, string>
         {
             { Constants.XenToolsSetupExecutablePath,
               String.Format("/S /norestart /D={0}", Constants.XenToolsPath) }
         });
         _serviceRestarter.Restart("xensvc");
         _serviceRestarter.Restart("XenServerVssProvider");
         Statics.ShouldPollXenStore = true;
         return(new ExecutableResult());
     }
     catch (Exception ex)
     {
         _logger.Log(String.Format("Exception was : {0}\nStackTrace Was: {1}", ex.Message, ex.StackTrace));
         return(new ExecutableResult {
             Error = new List <string> {
                 "Update failed"
             }, ExitCode = "1"
         });
     }
     finally
     {
         _finalizer.Finalize(new List <string> {
             Constants.XenToolsUnzipPath, Constants.XenToolsReleasePackage
         });
     }
 }