From 18c85cb5c39b0c5b21f9cf7e8f34bb751c86ed81 Mon Sep 17 00:00:00 2001 From: Ivan Maslov Date: Sun, 28 Aug 2022 22:46:02 +0300 Subject: [PATCH] Orchestrator for Linux fixes --- .../pyOpenRPA/Orchestrator/SettingsTemplate.py | 2 +- .../pyOpenRPA/Orchestrator/__Orchestrator__.py | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/Sources/pyOpenRPA/Orchestrator/SettingsTemplate.py b/Sources/pyOpenRPA/Orchestrator/SettingsTemplate.py index a3209029..f9d4fb72 100644 --- a/Sources/pyOpenRPA/Orchestrator/SettingsTemplate.py +++ b/Sources/pyOpenRPA/Orchestrator/SettingsTemplate.py @@ -340,7 +340,7 @@ def Create(inModeStr="BASIC", inLoggerLevel = None): lL.setLevel(logging.INFO) # create the logging file handler mRobotLoggerFH = logging.FileHandler( - "Reports\\" + datetime.datetime.now().strftime("%Y_%m_%d") + ".log") + os.path.normpath("Reports\\" + datetime.datetime.now().strftime("%Y_%m_%d") + ".log")) mRobotLoggerFormatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s') mRobotLoggerFH.setFormatter(mRobotLoggerFormatter) # add handler to logger object diff --git a/Sources/pyOpenRPA/Orchestrator/__Orchestrator__.py b/Sources/pyOpenRPA/Orchestrator/__Orchestrator__.py index 866943d2..3fce1ed1 100644 --- a/Sources/pyOpenRPA/Orchestrator/__Orchestrator__.py +++ b/Sources/pyOpenRPA/Orchestrator/__Orchestrator__.py @@ -493,6 +493,24 @@ def OSRemotePCRestart(inHostStr, inForceBool=True, inLogger = None): if inForceBool == True: lCMDStr = lCMDStr + " -Force" OSCMD(inCMDStr=lCMDStr,inLogger=inLogger) +def OSRestart(inForceBool=True, inLogger = None): + """L+,W+: Отправить сигнал на перезагрузку операционной системы. + + !ВНИМАНИЕ! Перезапуск будет принят, если учетная запись имеет полномочия на перезапуск на соответсвующей машине. + + :param inForceBool: True - принудительная перезагрузка; False - мягкая перезагрузка (дождаться окончания выполнения всех операций). По умолчанию True + :param inLogger: Логгер, в который отправлять информацию о результате выполнения команды + :return: + """ + if inLogger is None: inLogger = OrchestratorLoggerGet() + if CrossOS.IS_WINDOWS_BOOL: + lCMDStr = f"shutdown -r" + if inForceBool == True: lCMDStr = lCMDStr + " -f" + elif CrossOS.IS_LINUX_BOOL: + lCMDStr = f"reboot" + if inForceBool == True: lCMDStr = lCMDStr + " -f" + OSCMD(inCMDStr=lCMDStr,inLogger=inLogger) + def OSCMD(inCMDStr, inRunAsyncBool=True, inLogger = None): """ Отправить команду на выполнение на сессию, где выполняется Оркестратор.