xtn-tools-pro 1.0.0.4.0__py3-none-any.whl → 1.0.0.4.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|