protected override void Execution(object sender, DoWorkEventArgs e) { //Грохаем все «1cv8c.exe» на серваке if (MainSettings.MainSqlSettings.Is1CServer) { KillProcess1C ActionKill = new KillProcess1C(Id); ActionKill.ActRun(); } Thread.Sleep(3000); MagicUpdaterCommon.CommonActions.StartWithParameter1C act = new MagicUpdaterCommon.CommonActions.StartWithParameter1C(Id, MagicUpdaterCommon.SettingsTools.Parameters1C.CmdParams1C.UpdateAndPrintLog); // параметр обновицца и записать лог act.ActRun(); if (!act.NewProc.HasExited) { act.NewProc.WaitForExit(60000 * 7); } if (!act.NewProc.HasExited) { throw new Exception("Процесс конфигуратора не завершился после 7 минут ожидания. Обновление не выполнено."); } new SendLogsToCenter1C(Id).ActRun(); // Собираем и отправляем в центр логи if (!MainSettings.MainSqlSettings.Is1CServer) { new OpenVikiAndShowNotifyForDynamicUpdate(Id).ActRun(true, false); } }
protected override void Execution(object sender, DoWorkEventArgs e) { // Если касса, то сначала дожидаемся подтверждения if (MainSettings.MainSqlSettings.IsMainCashbox) { // Пример использования операции с преогресс баром BackgroundWorker worker = sender as BackgroundWorker; if (worker != null) { using (worker) { worker.ReportProgress(0, "Закрытие 1С на всех компьютерах"); //Грохаем все «1cv8c.exe» на всех компах в сети KillProcess1C ActionKill = new KillProcess1C(Id); ActionKill.ActRun(true, false, 7000); Thread.Sleep(3000); worker.ReportProgress(1, "Блокировка фоновых заданий на сервере 1С"); try { new LockBackgroundJobsOnServer1C(Id).ActRun(); //Блокировка фоновых заданий на сервере 1С } catch (Exception ex) { NLogger.LogErrorToBaseOrHdd(MainSettings.MainSqlSettings.ComputerId, ex.Message.ToString()); } worker.ReportProgress(2, "Завершение сеансов на сервере 1С"); try { new KillAll1CUsers(Id).ActRun(); //Убийство всех сеансов на сервере 1С } catch (Exception ex) { NLogger.LogErrorToBaseOrHdd(MainSettings.MainSqlSettings.ComputerId, ex.Message.ToString()); } worker.ReportProgress(3, "Обновление информационной базы..."); new UpdateBase1C(Id).ActRun(); //Обновление базы worker.ReportProgress(4, "Разрешение фоновых заданий на сервере 1С"); try { new UnLockBackgroundJobsOnServer1C(Id).ActRun(); //Блокировка фоновых заданий на сервере 1С } catch (Exception ex) { NLogger.LogErrorToBaseOrHdd(MainSettings.MainSqlSettings.ComputerId, ex.Message.ToString()); } worker.ReportProgress(5, "Сбор логов"); new SendLogsToCenter1C(Id).ActRun(); //Сбор лога и отправка в центр Thread.Sleep(1000); } } } }
protected override void Execution(object sender = null, DoWorkEventArgs e = null) { new ExecProcessing1CAction(Id, "ОбменСЦентром.epf", 10).ActRun(); //Грохаем все «1cv8c.exe» на всех компах в сети KillProcess1C ActionKill = new KillProcess1C(Id); ActionKill.ActRun(true, false, 7000); Thread.Sleep(3000); try { new LockBackgroundJobsOnServer1C(Id).ActRun(); //Блокировка фоновых заданий на сервере 1С } catch (Exception ex) { NLogger.LogErrorToBaseOrHdd(MainSettings.MainSqlSettings.ComputerId, ex.Message.ToString()); } try { new StopServer1C(Id).ActRun(); //Убиваем сервер 1С } catch (Exception ex) { NLogger.LogErrorToBaseOrHdd(MainSettings.MainSqlSettings.ComputerId, ex.Message.ToString()); } Thread.Sleep(10000); try { new StartServer1C(Id).ActRun(); //Запускаем сервер 1С } catch (Exception ex) { NLogger.LogErrorToBaseOrHdd(MainSettings.MainSqlSettings.ComputerId, ex.Message.ToString()); } Thread.Sleep(10000); new UpdateBase1C(Id).ActRun(); //Обновление базы try { new UnLockBackgroundJobsOnServer1C(Id).ActRun(); //Разблокировка фоновых заданий на сервере 1С } catch (Exception ex) { NLogger.LogErrorToBaseOrHdd(MainSettings.MainSqlSettings.ComputerId, ex.Message.ToString()); } new SendLogsToCenter1C(Id).ActRun(); //Сбор лога и отправка в центр }