|
|
@ -1,6 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
from .. import __Orchestrator__
|
|
|
|
|
|
|
|
import os
|
|
|
|
|
|
|
|
|
|
|
|
class Process():
|
|
|
|
class Process():
|
|
|
|
"""
|
|
|
|
"""
|
|
|
@ -24,7 +24,7 @@ class Process():
|
|
|
|
mStopSafeTimeoutSecFloat = None
|
|
|
|
mStopSafeTimeoutSecFloat = None
|
|
|
|
mStatusStr = None # 0_STOPPED 1_STOPPED_MANUAL 2_STOP_SAFE 3_STOP_SAFE_MANUAL 4_STARTED 5_STARTED_MANUAL
|
|
|
|
mStatusStr = None # 0_STOPPED 1_STOPPED_MANUAL 2_STOP_SAFE 3_STOP_SAFE_MANUAL 4_STARTED 5_STARTED_MANUAL
|
|
|
|
|
|
|
|
|
|
|
|
def __init__(self, inAgentHostNameStr, inAgentUserNameStr):
|
|
|
|
def __init__(self, inAgentHostNameStr, inAgentUserNameStr, mStartPathStr, mProcessNameWOExeStr, mStopSafeTimeoutSecFloat=120):
|
|
|
|
self.mAgentHostNameStr = inAgentHostNameStr
|
|
|
|
self.mAgentHostNameStr = inAgentHostNameStr
|
|
|
|
self.mAgentUserNameStr = inAgentUserNameStr
|
|
|
|
self.mAgentUserNameStr = inAgentUserNameStr
|
|
|
|
|
|
|
|
|
|
|
@ -46,7 +46,22 @@ class Process():
|
|
|
|
:param inIsManualBool: Default is True - Mark this operation as manual - StatusCheckStart/Stop will be blocked - only StatusCheck will be working. False - Auto operation
|
|
|
|
:param inIsManualBool: Default is True - Mark this operation as manual - StatusCheckStart/Stop will be blocked - only StatusCheck will be working. False - Auto operation
|
|
|
|
:return:
|
|
|
|
:return:
|
|
|
|
"""
|
|
|
|
"""
|
|
|
|
pass
|
|
|
|
# Send activity item to agent - wait result
|
|
|
|
|
|
|
|
lCMDStr = f"start {os.path.abspath(self.mStartPathStr)}"
|
|
|
|
|
|
|
|
lActivityItemStart = __Orchestrator__.ProcessorActivityItemCreate(inDef="OSCMD",
|
|
|
|
|
|
|
|
inArgDict={"inCMDStr":lCMDStr,"inSendOutputToOrchestratorLogsBool":False},
|
|
|
|
|
|
|
|
inArgGSettingsStr="inGSettings")
|
|
|
|
|
|
|
|
lGUIDStr = __Orchestrator__.AgentActivityItemAdd(inHostNameStr=self.mAgentHostNameStr,
|
|
|
|
|
|
|
|
inUserStr=self.mAgentUserNameStr,
|
|
|
|
|
|
|
|
inActivityItemDict=lActivityItemStart)
|
|
|
|
|
|
|
|
lStartResult = __Orchestrator__.AgentActivityItemReturnGet(inGUIDStr=lGUIDStr)
|
|
|
|
|
|
|
|
if inIsManualBool==True:
|
|
|
|
|
|
|
|
self.mStatusStr = "5_STARTED_MANUAL"
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
|
|
|
self.mStatusStr = "4_STARTED"
|
|
|
|
|
|
|
|
# Log info about process
|
|
|
|
|
|
|
|
lL = __Orchestrator__.OrchestratorLoggerGet()
|
|
|
|
|
|
|
|
lL.info(f"Managers.Process: {self.mProcessNameWOExeStr} change status to {self.mStatusStr})")
|
|
|
|
|
|
|
|
|
|
|
|
def StopSafe(self, inIsManualBool = True):
|
|
|
|
def StopSafe(self, inIsManualBool = True):
|
|
|
|
"""
|
|
|
|
"""
|
|
|
@ -66,7 +81,21 @@ class Process():
|
|
|
|
:param inIsManualBool: Default is True - Mark this operation as manual - StatusCheckStart/Stop will be blocked - only StatusCheck will be working. False - Auto operation
|
|
|
|
:param inIsManualBool: Default is True - Mark this operation as manual - StatusCheckStart/Stop will be blocked - only StatusCheck will be working. False - Auto operation
|
|
|
|
:return:
|
|
|
|
:return:
|
|
|
|
"""
|
|
|
|
"""
|
|
|
|
pass
|
|
|
|
# Send activity item to agent - wait result
|
|
|
|
|
|
|
|
lCMDStr = f'taskkill /im "{self.mProcessNameWOExeStr}" /fi "username eq %USERNAME%"'
|
|
|
|
|
|
|
|
lActivityItemStart = __Orchestrator__.ProcessorActivityItemCreate(
|
|
|
|
|
|
|
|
inDef="OSCMD",inArgDict={"inCMDStr": lCMDStr,"inSendOutputToOrchestratorLogsBool":False},inArgGSettingsStr="inGSettings")
|
|
|
|
|
|
|
|
lGUIDStr = __Orchestrator__.AgentActivityItemAdd(inHostNameStr=self.mAgentHostNameStr,
|
|
|
|
|
|
|
|
inUserStr=self.mAgentUserNameStr,
|
|
|
|
|
|
|
|
inActivityItemDict=lActivityItemStart)
|
|
|
|
|
|
|
|
lStartResult = __Orchestrator__.AgentActivityItemReturnGet(inGUIDStr=lGUIDStr)
|
|
|
|
|
|
|
|
if inIsManualBool==True:
|
|
|
|
|
|
|
|
self.mStatusStr = "1_STOPPED_MANUAL"
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
|
|
|
self.mStatusStr = "0_STOPPED"
|
|
|
|
|
|
|
|
# Log info about process
|
|
|
|
|
|
|
|
lL = __Orchestrator__.OrchestratorLoggerGet()
|
|
|
|
|
|
|
|
lL.info(f"Managers.Process: {self.mProcessNameWOExeStr} change status to {self.mStatusStr})")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def RestartSafe(self, inIsManualBool = True):
|
|
|
|
def RestartSafe(self, inIsManualBool = True):
|
|
|
@ -95,7 +124,16 @@ class Process():
|
|
|
|
|
|
|
|
|
|
|
|
:return:
|
|
|
|
:return:
|
|
|
|
"""
|
|
|
|
"""
|
|
|
|
pass
|
|
|
|
# Send activity item to agent - wait result
|
|
|
|
|
|
|
|
lActivityItemUserProcessList = __Orchestrator__.ProcessorActivityItemCreate(inDef="ProcessWOExeUpperUserListGet")
|
|
|
|
|
|
|
|
lGUIDStr = __Orchestrator__.AgentActivityItemAdd(inHostNameStr=self.mAgentHostNameStr,inUserStr=self.mAgentUserNameStr,inActivityItemDict=lActivityItemUserProcessList)
|
|
|
|
|
|
|
|
lUserProcessList = __Orchestrator__.AgentActivityItemReturnGet(inGUIDStr=lGUIDStr)
|
|
|
|
|
|
|
|
if self.mProcessNameWOExeStr.upper() in lUserProcessList:
|
|
|
|
|
|
|
|
if self.mStatusStr == "1_STOPPED_MANUAL": self.mStatusStr = "5_STARTED_MANUAL"
|
|
|
|
|
|
|
|
if self.mStatusStr == "0_STOPPED": self.mStatusStr = "4_STARTED"
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
|
|
|
if self.mStatusStr == "5_STARTED_MANUAL": self.mStatusStr = "1_STOPPED_MANUAL"
|
|
|
|
|
|
|
|
if self.mStatusStr == "4_STARTED": self.mStatusStr = "0_STOPPED"
|
|
|
|
|
|
|
|
|
|
|
|
def StatusCheckStart(self):
|
|
|
|
def StatusCheckStart(self):
|
|
|
|
"""
|
|
|
|
"""
|
|
|
|