#GetActivityLog

dev-linux
Ivan Maslov 5 years ago
parent d7c3a56334
commit c6a0015a92

@ -20,7 +20,7 @@
"__activityType":"processStart/processStop",
"activityType":"processStart",
"__time":"__Время запуска активности",
"time":"09:18",
"time":"22:57",
"__timeZone":"Часовой пояс, в рамках которого указано время. По-умолчанию часовой пояс МСК (GMT+4). Формат UTC offset in the form ±HHMM[SS[.ffffff]] ",
"timeZone":"+0400",
"__processPath":"Полный путь/наименование процесса. Запуск производится через subprocess. Идентификатор процесса в дальнейшем сохраняется и его можно будет закрыть с помощью параметра processCode",

@ -30,6 +30,7 @@ lDaemonStartDateTime=datetime.datetime.now()
#Инициализация globalDict
lGlobalDict["JSONConfigurationDict"]=lDaemonConfigurationObject
lGlobalDict["ActivityLogSchedule"]=lDaemonActivityLogDict
lGlobalDict["ActivityLogScheduleList"]=[]
orchestratorServer.mActivityLogDict = lDaemonActivityLogDict
@ -59,6 +60,8 @@ while True:
print("ProcessStart:"+lItem["processPath"])
#Запись в массив отработанных активностей
lDaemonActivityLogDict[(lItem["activityType"],lActivityDateTime,lItem["processPath"])]={"ActivityStartDateTime":lCurrentDateTime}
#Лог
lGlobalDict["ActivityLogScheduleList"].append({"activityType":lItem["activityType"], "activityDateTime":str(lActivityDateTime), "processPath":lItem["processPath"], "activityStartDateTime":str(lCurrentDateTime)})
#Запустить процесс
lItemArgs=[lItem["processPath"]]
lItemArgs.extend(lItem["processArgs"])
@ -85,6 +88,8 @@ while True:
#Завершить процессы только текущего пользоваиеля
if lItem['flagCloseOnlyCurrentUser']:
lActivityCloseCommand+=' /fi "username eq %username%"'
#Лог
lGlobalDict["ActivityLogScheduleList"].append({"activityType":lItem["activityType"], "activityDateTime":str(lActivityDateTime), "processPath":lItem["processPath"], "activityStartDateTime":str(lCurrentDateTime)})
#Завершить процесс
os.system(lActivityCloseCommand)
print("ProcessStop "+lItem["processName"])

@ -1,6 +1,7 @@
import datetime
import http.client
import json
import pdb
#Глобальная переменная - все глобальные значения программы
global mGlobalDict
#{
@ -11,6 +12,9 @@ global mGlobalDict
# host: <localhost>,
# port: <port>,
# bodyObject: <object dict, int, str, list>
# },
# {
# type: <ActivityLogScheduleGet>
# }
# ]
#
@ -37,5 +41,9 @@ def ProcessingRun(inConfigurationDict):
lHTTPResponse=lHTTPConnection.getresponse()
lHTTPResponseByteArray=lHTTPResponse.read()
lResult["actionListResult"][-1] = {**lResult["actionListResult"][-1], **json.loads(lHTTPResponseByteArray.decode('utf8'))}
#Обработка команды ActivityLogScheduleGet
if lItem["type"]=="ActivityLogScheduleListGet":
pdb.set_trace()
lResult["actionListResult"][-1] = {**lResult["actionListResult"][-1], **{"result":mGlobalDict["ActivityLogScheduleList"]}}
#Вернуть результат
return lResult

@ -27,11 +27,12 @@ class RobotDaemonServer(Thread):
self.name = name
global mJSONConfigurationDict
mJSONConfigurationDict=inGlobalDict["JSONConfigurationDict"]
#Перенос переменной в orchestratorProcessor
orchestratorProcessor.mGlobalDict=inGlobalDict
def run(self,inServerAddress="127.0.0.1",inPort=8081):
print('starting server...')
def run(self):
inServerAddress="";
inPort = mJSONConfigurationDict["webServerPort"];
print('starting server..., port:'+str(inPort)+" inAddress:"+inServerAddress)
# Server settings
# Choose port 8080, for port 80, which is normally used for a http server, you need root access
server_address = (inServerAddress, inPort)

Loading…
Cancel
Save