|
@@ -49,6 +49,7 @@ class Monitor(callback.CallBack): |
|
@@ -49,6 +49,7 @@ class Monitor(callback.CallBack): |
|
49
|
self.executor = ThreadPoolExecutor(100, 'task_thread')
|
49
|
self.executor = ThreadPoolExecutor(100, 'task_thread')
|
|
50
|
self.init_config = {}
|
50
|
self.init_config = {}
|
|
51
|
self.queue = None
|
51
|
self.queue = None
|
|
|
|
52
|
+ self.changeLock = threading.Lock()
|
|
52
|
|
53
|
|
|
53
|
def bind(self):
|
54
|
def bind(self):
|
|
54
|
models.Config.set('host', Client.target_server)
|
55
|
models.Config.set('host', Client.target_server)
|
|
@@ -85,6 +86,8 @@ class Monitor(callback.CallBack): |
|
@@ -85,6 +86,8 @@ class Monitor(callback.CallBack): |
|
85
|
return client.info()
|
86
|
return client.info()
|
|
86
|
else:
|
87
|
else:
|
|
87
|
try:
|
88
|
try:
|
|
|
|
89
|
+ self.onChangEnv(email, 'waiting', '排队中')
|
|
|
|
90
|
+ self.changeLock.acquire(timeout=120) # 设置超时释放时间为120秒
|
|
88
|
self.changeingIn(email) # 转环境的话清理缓存
|
91
|
self.changeingIn(email) # 转环境的话清理缓存
|
|
89
|
result, email, password, cookie, user_agent = self.selenium_login(email, password, cookie)
|
92
|
result, email, password, cookie, user_agent = self.selenium_login(email, password, cookie)
|
|
90
|
if result:
|
93
|
if result:
|
|
@@ -93,6 +96,8 @@ class Monitor(callback.CallBack): |
|
@@ -93,6 +96,8 @@ class Monitor(callback.CallBack): |
|
93
|
except Exception as err:
|
96
|
except Exception as err:
|
|
94
|
self.onChangEnv(email, 'changeError', str(err))
|
97
|
self.onChangEnv(email, 'changeError', str(err))
|
|
95
|
raise err
|
98
|
raise err
|
|
|
|
99
|
+ finally:
|
|
|
|
100
|
+ self.changeLock.release()
|
|
96
|
|
101
|
|
|
97
|
def login(self, email, password, cookie=None, user_agent=None, proxy=None):
|
102
|
def login(self, email, password, cookie=None, user_agent=None, proxy=None):
|
|
98
|
limit = 100
|
103
|
limit = 100
|