|
@@ -18,7 +18,7 @@ from lib import control_server |
|
@@ -18,7 +18,7 @@ from lib import control_server |
|
18
|
from lib.common import TaskStatus
|
18
|
from lib.common import TaskStatus
|
|
19
|
from lib.facebook import FacebookClient
|
19
|
from lib.facebook import FacebookClient
|
|
20
|
from lib.sqlhelper import UserList, Status, Config
|
20
|
from lib.sqlhelper import UserList, Status, Config
|
|
21
|
-from utils import parameter
|
21
|
+from utils import parameter, netutil, system_info
|
|
22
|
|
22
|
|
|
23
|
log = logging.getLogger(__name__)
|
23
|
log = logging.getLogger(__name__)
|
|
24
|
tostr = lambda x: (x)
|
24
|
tostr = lambda x: (x)
|
|
@@ -34,6 +34,8 @@ class Monitor(callback.CallBack): |
|
@@ -34,6 +34,8 @@ class Monitor(callback.CallBack): |
|
34
|
self._listenlist = dict()
|
34
|
self._listenlist = dict()
|
|
35
|
self._imei = Config.get('imei', lambda: uuid.uuid1().hex)
|
35
|
self._imei = Config.get('imei', lambda: uuid.uuid1().hex)
|
|
36
|
self._name = Config.get('name', control_server.get_init_name)
|
36
|
self._name = Config.get('name', control_server.get_init_name)
|
|
|
|
37
|
+ self._host = None
|
|
|
|
38
|
+ self._version = '1.0.0'
|
|
37
|
self.executor = ThreadPoolExecutor(50, 'task_thread')
|
39
|
self.executor = ThreadPoolExecutor(50, 'task_thread')
|
|
38
|
self.init_config = {}
|
40
|
self.init_config = {}
|
|
39
|
|
41
|
|
|
@@ -97,12 +99,26 @@ class Monitor(callback.CallBack): |
|
@@ -97,12 +99,26 @@ class Monitor(callback.CallBack): |
|
97
|
if not email: return None
|
99
|
if not email: return None
|
|
98
|
return self._listenlist.get(email, None)
|
100
|
return self._listenlist.get(email, None)
|
|
99
|
|
101
|
|
|
|
|
102
|
+ @property
|
|
100
|
def size(self):
|
103
|
def size(self):
|
|
101
|
return len(self._listenlist)
|
104
|
return len(self._listenlist)
|
|
102
|
|
105
|
|
|
103
|
def members(self):
|
106
|
def members(self):
|
|
104
|
return list(self._listenlist.keys())
|
107
|
return list(self._listenlist.keys())
|
|
105
|
|
108
|
|
|
|
|
109
|
+ def _info_(self):
|
|
|
|
110
|
+ data = {
|
|
|
|
111
|
+ "name": self._name,
|
|
|
|
112
|
+ "num": self.size,
|
|
|
|
113
|
+ "version": self._version,
|
|
|
|
114
|
+ "server": self._socket.ws_url,
|
|
|
|
115
|
+ }
|
|
|
|
116
|
+ data.update(system_info.get())
|
|
|
|
117
|
+ if not self._host:
|
|
|
|
118
|
+ self._host = netutil.getip()
|
|
|
|
119
|
+ data['ip'] = self._host
|
|
|
|
120
|
+ print(data)
|
|
|
|
121
|
+
|
|
106
|
def _heartbeat(self):
|
122
|
def _heartbeat(self):
|
|
107
|
if self.init_config.get("disableSync"):
|
123
|
if self.init_config.get("disableSync"):
|
|
108
|
return None
|
124
|
return None
|
|
@@ -125,6 +141,7 @@ class Monitor(callback.CallBack): |
|
@@ -125,6 +141,7 @@ class Monitor(callback.CallBack): |
|
125
|
}),
|
141
|
}),
|
|
126
|
"type": "initialize",
|
142
|
"type": "initialize",
|
|
127
|
}
|
143
|
}
|
|
|
|
144
|
+ self._info_()
|
|
128
|
self._socket.send(payload)
|
145
|
self._socket.send(payload)
|
|
129
|
self._socket.payload_data = self._heartbeat # 替换心跳数据获取方式
|
146
|
self._socket.payload_data = self._heartbeat # 替换心跳数据获取方式
|
|
130
|
|
147
|
|