xtn-tools-pro 1.0.0.4.4__py3-none-any.whl → 1.0.0.4.6__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 +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
|