#GetActivityLog

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

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

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

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

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

Loading…
Cancel
Save