xtn-tools-pro 1.0.0.4.0__py3-none-any.whl → 1.0.0.4.2__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- xtn_tools_pro/task_pro/go_fun.py +13 -12
- {xtn_tools_pro-1.0.0.4.0.dist-info → xtn_tools_pro-1.0.0.4.2.dist-info}/METADATA +1 -1
- {xtn_tools_pro-1.0.0.4.0.dist-info → xtn_tools_pro-1.0.0.4.2.dist-info}/RECORD +6 -6
- {xtn_tools_pro-1.0.0.4.0.dist-info → xtn_tools_pro-1.0.0.4.2.dist-info}/LICENSE +0 -0
- {xtn_tools_pro-1.0.0.4.0.dist-info → xtn_tools_pro-1.0.0.4.2.dist-info}/WHEEL +0 -0
- {xtn_tools_pro-1.0.0.4.0.dist-info → xtn_tools_pro-1.0.0.4.2.dist-info}/top_level.txt +0 -0
xtn_tools_pro/task_pro/go_fun.py
CHANGED
@@ -51,7 +51,7 @@ class GoFun:
|
|
51
51
|
raise Exception(f"ini_dict 配置 {server_k} 不存在")
|
52
52
|
|
53
53
|
logger.debug(
|
54
|
-
f"\n
|
54
|
+
f"\n无敌框架来咯~~~当前设置配置如下:\n\t功能函数重启间隔:{restart_time};进程数:{processes_num};线程数:{thread_num}\n\t代理更新间隔:{update_proxies_time};回写间隔{upload_task_tine}\n")
|
55
55
|
|
56
56
|
if port:
|
57
57
|
task_host = f"http://{host}:{port}"
|
@@ -61,7 +61,6 @@ class GoFun:
|
|
61
61
|
download_url = task_host + "/filter_server/phone/get"
|
62
62
|
upload_url = task_host + "/filter_server/phone/update"
|
63
63
|
update_proxy_url = task_host + f"/filter_server/proxy/random/get?taskType={task}&limit=1"
|
64
|
-
logger.debug("无敌框架来咯~")
|
65
64
|
|
66
65
|
external_ip = self.__get_external_ip(self.logger)
|
67
66
|
|
@@ -139,7 +138,7 @@ class GoFun:
|
|
139
138
|
while True:
|
140
139
|
try:
|
141
140
|
qsize = download_queue.qsize()
|
142
|
-
logger.info(f"
|
141
|
+
logger.info(f"当前队列剩余任务数:{qsize}")
|
143
142
|
if qsize >= 10:
|
144
143
|
time.sleep(2)
|
145
144
|
continue
|
@@ -156,9 +155,9 @@ class GoFun:
|
|
156
155
|
if not phone_item.isdigit(): # 判断是否全是整数(不包括小数点或负号)
|
157
156
|
continue
|
158
157
|
download_queue.put(task_item)
|
159
|
-
logger.warning(f"
|
158
|
+
logger.warning(f"成功获取任务个数:{len(result_list)}")
|
160
159
|
except Exception as e:
|
161
|
-
logger.critical(f"
|
160
|
+
logger.critical(f"获取任务请求异常:{e}")
|
162
161
|
time.sleep(2)
|
163
162
|
|
164
163
|
def __upload_task(self, upload_queue, ini_info, logger):
|
@@ -234,13 +233,13 @@ class GoFun:
|
|
234
233
|
status_code = resp.status_code
|
235
234
|
result_list = json_data.get("result", [])
|
236
235
|
if not result_list or status_code != 200:
|
237
|
-
logger.critical(f"
|
236
|
+
logger.critical(f"获取代理响应异常:{status_code} {len(result_list)} {json_data}")
|
238
237
|
time.sleep(2)
|
239
238
|
|
240
239
|
proxies_dict['http'] = 'http://' + random.choice(result_list)
|
241
240
|
proxies_dict['https'] = 'http://' + random.choice(result_list)
|
242
241
|
proxies_dict['status'] = True
|
243
|
-
logger.warning(f"
|
242
|
+
logger.warning(f"成功获取代理:{proxies_dict}")
|
244
243
|
|
245
244
|
if not update_proxies_time:
|
246
245
|
# 一直执行 不退出
|
@@ -249,7 +248,7 @@ class GoFun:
|
|
249
248
|
time.sleep(update_proxies_time)
|
250
249
|
proxies_dict['status'] = False
|
251
250
|
except Exception as e:
|
252
|
-
logger.critical(f"
|
251
|
+
logger.critical(f"获取代理请求异常:{e}")
|
253
252
|
time.sleep(2)
|
254
253
|
|
255
254
|
def _go_task_fun_task(self, download_queue, upload_queue, proxies_dict, ini_info, go_task_function, logger):
|
@@ -277,11 +276,13 @@ class GoFun:
|
|
277
276
|
try:
|
278
277
|
if not processes_start_list:
|
279
278
|
go_task_fun_cnt += 1
|
280
|
-
logger.
|
279
|
+
logger.info(
|
281
280
|
f"第{go_task_fun_cnt}次,进程数:{processes_num},线程数:{thread_num},等待{restart_time}秒强制下一次")
|
282
281
|
for i in range(processes_num):
|
283
282
|
p = Process(target=self._run_with_timeout,
|
284
|
-
args=(
|
283
|
+
args=(
|
284
|
+
download_queue, upload_queue, proxies_dict, thread_num, logger,
|
285
|
+
go_task_function))
|
285
286
|
processes_start_list.append(p)
|
286
287
|
p.start()
|
287
288
|
|
@@ -299,7 +300,7 @@ class GoFun:
|
|
299
300
|
except Exception as e:
|
300
301
|
pass
|
301
302
|
|
302
|
-
def _run_with_timeout(self, download_queue, upload_queue, proxies_dict, thread_num, go_task_function):
|
303
|
+
def _run_with_timeout(self, download_queue, upload_queue, proxies_dict, thread_num, logger, go_task_function):
|
303
304
|
caller = inspect.stack()[1] # 获取调用者的调用栈信息
|
304
305
|
caller_name = caller.function # 获取调用者的函数名
|
305
306
|
caller_class = caller.frame.f_locals.get('self', None) # 获取调用者的类实例
|
@@ -308,7 +309,7 @@ class GoFun:
|
|
308
309
|
|
309
310
|
with concurrent.futures.ThreadPoolExecutor(max_workers=thread_num) as executor:
|
310
311
|
# 提交10个函数到线程池中执行
|
311
|
-
futures = [executor.submit(go_task_function, download_queue, upload_queue, proxies_dict) for _ in
|
312
|
+
futures = [executor.submit(go_task_function, download_queue, upload_queue, proxies_dict, logger) for _ in
|
312
313
|
range(thread_num)]
|
313
314
|
|
314
315
|
# 等待所有线程完成
|
@@ -10,7 +10,7 @@ xtn_tools_pro/proxy/XiaoXiangProxy.py,sha256=45SsMZDc-3Ta4THX38vScjaeRBJSp420AJw
|
|
10
10
|
xtn_tools_pro/proxy/__init__.py,sha256=WRwh6s2lruMu5buh0ejo9EK54kWT_VQhCsFGNFAmcyo,418
|
11
11
|
xtn_tools_pro/proxy/proxy.py,sha256=No6E1pFY5yx2F4976pXPrLtq-QEVp79KupzcufjSN58,8703
|
12
12
|
xtn_tools_pro/task_pro/__init__.py,sha256=nK3U47hWwE1H875ieEToH9r-jzXHS-PXk8cDstOvRE8,418
|
13
|
-
xtn_tools_pro/task_pro/go_fun.py,sha256=
|
13
|
+
xtn_tools_pro/task_pro/go_fun.py,sha256=755YOHCo-D6wY4tP7OiB1DPtkd1dR_zqO6kNZ72LtmQ,14141
|
14
14
|
xtn_tools_pro/utils/__init__.py,sha256=I1_n_NP23F2lBqlF4EOlnOdLYxM8M4pbn63UhJN1hRE,418
|
15
15
|
xtn_tools_pro/utils/crypto.py,sha256=RZ5AET4udlraACWMeNF-17JiZ2R6Ahb47_j4tjkV7LE,3190
|
16
16
|
xtn_tools_pro/utils/file_utils.py,sha256=VfdIxog4s1UW5NpKkCvQsUs9qHjLoNCnstZbnftkT4w,2046
|
@@ -19,8 +19,8 @@ xtn_tools_pro/utils/log.py,sha256=XZChGrKWgAz42o_gFi_d7DL28svF1OvAw7NS_xkIgnQ,10
|
|
19
19
|
xtn_tools_pro/utils/retry.py,sha256=0wjHsR5DBBKpv4naMfxiky8kprrZes4WURIfFQ4H708,1657
|
20
20
|
xtn_tools_pro/utils/sql.py,sha256=EAKzbkZP7Q09j15Gm6o0_uq0qgQmcCQT6EAawbpp4v0,6263
|
21
21
|
xtn_tools_pro/utils/time_utils.py,sha256=TUtzG61PeVYXhaQd6pBrXAdlz7tBispNIRQRcGhE2No,4859
|
22
|
-
xtn_tools_pro-1.0.0.4.
|
23
|
-
xtn_tools_pro-1.0.0.4.
|
24
|
-
xtn_tools_pro-1.0.0.4.
|
25
|
-
xtn_tools_pro-1.0.0.4.
|
26
|
-
xtn_tools_pro-1.0.0.4.
|
22
|
+
xtn_tools_pro-1.0.0.4.2.dist-info/LICENSE,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
23
|
+
xtn_tools_pro-1.0.0.4.2.dist-info/METADATA,sha256=dRKFzOGZju8xXUUclNlxsn3ssPObIC3q3i-gvpV3G5A,455
|
24
|
+
xtn_tools_pro-1.0.0.4.2.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
25
|
+
xtn_tools_pro-1.0.0.4.2.dist-info/top_level.txt,sha256=jyB3FLDEr8zE1U7wHczTgIbvUpALhR-ULF7RVEO7O2U,14
|
26
|
+
xtn_tools_pro-1.0.0.4.2.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|