import os import django from outpost obs utils import getOnlineUsersNa

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import os
import django
from outpost.obs.utils import getOnlineUsersName
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "outpost.settings")
print(django.VERSION)
django.setup()
from fobserver.models import *
onlineUsersNameList = getOnlineUsersName()
print(onlineUsersNameList)
#Создаем список пользователей
users = []
for userName in onlineUsersNameList:
users.append(User.getUser(userName))
print(users)
#Создаем список сессий
sessions = []
for user in users:
sessions.append(Session.getNewSession(user))
print(sessions)
time.sleep(10)
#Основной цикл мониторинга
while True:
onlineUsersNameList = getOnlineUsersName()
print(onlineUsersNameList)
#Для каждой сессии проверяем, онлайн ли еще её пользователь
for session in sessions:
if(onlineUsersNameList.count(session.user.name) > 0):
#Если онлайн, помечаем что у пользователя уже есть сессия
session.user.hasSession = True
else:
#Если нет, завершаем сессию
session.relise(sessions, users)
#Проверяем не вышли ли в онлайн новые пользователи и если вышли, добавляем их
index = 0
for userName in onlineUsersNameList:
if User.userIndex(userName, users) > -1:
pass
#Пользователь уже в списке
else:
user = User.getUser(userName)
users.append(user)
#Проверяем для всех ли существующих пользователей, есть сессия и если нет, добавляем
for user in users:
if user.hasSession:
pass
else:
sessions.append(Session.getNewSession(user))
time.sleep(60)