xtn-tools-pro 1.0.0.4.4__py3-none-any.whl → 1.0.0.4.6__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 +22 -4
- {xtn_tools_pro-1.0.0.4.4.dist-info → xtn_tools_pro-1.0.0.4.6.dist-info}/METADATA +1 -1
- {xtn_tools_pro-1.0.0.4.4.dist-info → xtn_tools_pro-1.0.0.4.6.dist-info}/RECORD +6 -6
- {xtn_tools_pro-1.0.0.4.4.dist-info → xtn_tools_pro-1.0.0.4.6.dist-info}/LICENSE +0 -0
- {xtn_tools_pro-1.0.0.4.4.dist-info → xtn_tools_pro-1.0.0.4.6.dist-info}/WHEEL +0 -0
- {xtn_tools_pro-1.0.0.4.4.dist-info → xtn_tools_pro-1.0.0.4.6.dist-info}/top_level.txt +0 -0
xtn_tools_pro/task_pro/go_fun.py
CHANGED
@@ -73,22 +73,40 @@ class GoFun:
|
|
73
73
|
return
|
74
74
|
|
75
75
|
# 共享任务队列
|
76
|
+
processes_list = []
|
76
77
|
manager = multiprocessing.Manager()
|
77
78
|
download_queue = multiprocessing.Queue()
|
78
79
|
upload_queue = multiprocessing.Queue()
|
79
80
|
proxies_dict = manager.dict()
|
80
81
|
download_task_process = multiprocessing.Process(target=self._download_and_upload_task,
|
82
|
+
name="_download_and_upload_task",
|
81
83
|
args=(download_queue, upload_queue, proxies_dict,
|
82
84
|
self.__ini_info, logger))
|
85
|
+
processes_list.append(download_task_process)
|
83
86
|
download_task_process.start()
|
84
87
|
|
85
88
|
# 根据配置启动任务
|
86
89
|
if go_task_function:
|
87
90
|
go_task_fun_process = multiprocessing.Process(target=self._go_task_fun_task,
|
91
|
+
name="_go_task_fun_task",
|
88
92
|
args=(download_queue, upload_queue, proxies_dict,
|
89
93
|
self.__ini_info, go_task_function, logger))
|
94
|
+
processes_list.append(go_task_fun_process)
|
90
95
|
go_task_fun_process.start()
|
91
|
-
|
96
|
+
|
97
|
+
while True:
|
98
|
+
for p in processes_list:
|
99
|
+
# 检查子进程是否存活
|
100
|
+
logger.info(f"{p.is_alive()} {p.name} {p.pid} {p}")
|
101
|
+
if not p.is_alive():
|
102
|
+
print(f"Worker {p.name} is dead. Restarting...")
|
103
|
+
# 进程死掉,重新启动
|
104
|
+
# processes.remove(p)
|
105
|
+
# new_p = multiprocessing.Process(target=worker, args=(f"Worker-{len(processes) + 1}",))
|
106
|
+
# processes.append(new_p)
|
107
|
+
# new_p.start()
|
108
|
+
|
109
|
+
time.sleep(10)
|
92
110
|
|
93
111
|
download_task_process.join()
|
94
112
|
|
@@ -105,7 +123,7 @@ class GoFun:
|
|
105
123
|
logger.warning(f"当前网络ip --> {rp_json}")
|
106
124
|
return rp_json['origin']
|
107
125
|
except Exception as e:
|
108
|
-
logger.critical(e)
|
126
|
+
logger.critical(f"获取当前网络ip{e}")
|
109
127
|
|
110
128
|
def _download_and_upload_task(self, download_queue, upload_queue, proxies_dict, ini_info,logger):
|
111
129
|
"""
|
@@ -204,7 +222,7 @@ class GoFun:
|
|
204
222
|
}
|
205
223
|
result_list.append(task_item)
|
206
224
|
except Exception as e:
|
207
|
-
logger.critical(e)
|
225
|
+
logger.critical(f"循环全部获取队列的任务{e}")
|
208
226
|
|
209
227
|
# 回写任务
|
210
228
|
data = {"result": result_list, "remoteAddr": external_ip}
|
@@ -306,7 +324,7 @@ class GoFun:
|
|
306
324
|
processes_start_list = []
|
307
325
|
|
308
326
|
except Exception as e:
|
309
|
-
logger.critical(e)
|
327
|
+
logger.critical(f"_go_task_fun_task-{e}")
|
310
328
|
|
311
329
|
def _run_with_timeout(self, download_queue, upload_queue, proxies_dict, thread_num, logger, go_task_function):
|
312
330
|
caller = inspect.stack()[1] # 获取调用者的调用栈信息
|
@@ -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=tGEq3-WFwu2efnc2SbSrMztEqIoAaJyO38WQAV5N-xo,15404
|
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=3zbKpWNEdU9bOzi7E-CUt4M0cTewCAfxjp8WjxCN9-M,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.6.dist-info/LICENSE,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
23
|
+
xtn_tools_pro-1.0.0.4.6.dist-info/METADATA,sha256=QJW3IFiyb7n_I2yCq1QDsidxubMRA2tgg34wU4UJnns,455
|
24
|
+
xtn_tools_pro-1.0.0.4.6.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
25
|
+
xtn_tools_pro-1.0.0.4.6.dist-info/top_level.txt,sha256=jyB3FLDEr8zE1U7wHczTgIbvUpALhR-ULF7RVEO7O2U,14
|
26
|
+
xtn_tools_pro-1.0.0.4.6.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|