xtn-tools-pro 1.0.0.4.6__py3-none-any.whl → 1.0.0.4.8__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 +29 -28
- {xtn_tools_pro-1.0.0.4.6.dist-info → xtn_tools_pro-1.0.0.4.8.dist-info}/METADATA +1 -1
- {xtn_tools_pro-1.0.0.4.6.dist-info → xtn_tools_pro-1.0.0.4.8.dist-info}/RECORD +6 -6
- {xtn_tools_pro-1.0.0.4.6.dist-info → xtn_tools_pro-1.0.0.4.8.dist-info}/LICENSE +0 -0
- {xtn_tools_pro-1.0.0.4.6.dist-info → xtn_tools_pro-1.0.0.4.8.dist-info}/WHEEL +0 -0
- {xtn_tools_pro-1.0.0.4.6.dist-info → xtn_tools_pro-1.0.0.4.8.dist-info}/top_level.txt +0 -0
xtn_tools_pro/task_pro/go_fun.py
CHANGED
@@ -73,43 +73,44 @@ class GoFun:
|
|
73
73
|
return
|
74
74
|
|
75
75
|
# 共享任务队列
|
76
|
-
processes_list = []
|
77
76
|
manager = multiprocessing.Manager()
|
78
77
|
download_queue = multiprocessing.Queue()
|
79
78
|
upload_queue = multiprocessing.Queue()
|
80
79
|
proxies_dict = manager.dict()
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
80
|
+
|
81
|
+
processes_list = []
|
82
|
+
processes_item_info = {
|
83
|
+
"_download_and_upload_task": {
|
84
|
+
"target": self._download_and_upload_task,
|
85
|
+
"name": "_download_and_upload_task",
|
86
|
+
"args": (download_queue, upload_queue, proxies_dict, self.__ini_info, logger),
|
87
|
+
},
|
88
|
+
"_go_task_fun_task": {
|
89
|
+
"target": self._go_task_fun_task,
|
90
|
+
"name": "_go_task_fun_task",
|
91
|
+
"args": (download_queue, upload_queue, proxies_dict, self.__ini_info, go_task_function, logger),
|
92
|
+
},
|
93
|
+
}
|
94
|
+
|
95
|
+
for p_item in processes_item_info.values():
|
96
|
+
task_process = multiprocessing.Process(target=p_item["target"], name=p_item["name"], args=p_item["args"])
|
97
|
+
processes_list.append(task_process)
|
98
|
+
task_process.start()
|
96
99
|
|
97
100
|
while True:
|
101
|
+
time.sleep(10)
|
98
102
|
for p in processes_list:
|
99
103
|
# 检查子进程是否存活
|
100
|
-
logger.info(f"{p.is_alive()} {p.name} {p.pid} {p}")
|
101
104
|
if not p.is_alive():
|
102
|
-
print(f"
|
105
|
+
print(f"{p.is_alive()} {p.name} {p.pid}")
|
103
106
|
# 进程死掉,重新启动
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
download_task_process.join()
|
112
|
-
|
107
|
+
p.kill()
|
108
|
+
processes_list.remove(p)
|
109
|
+
p_item = processes_item_info[p.name]
|
110
|
+
task_process = multiprocessing.Process(target=p_item["target"], name=p_item["name"],
|
111
|
+
args=p_item["args"])
|
112
|
+
processes_list.append(task_process)
|
113
|
+
task_process.start()
|
113
114
|
|
114
115
|
def __get_external_ip(self, logger):
|
115
116
|
"""
|
@@ -125,7 +126,7 @@ class GoFun:
|
|
125
126
|
except Exception as e:
|
126
127
|
logger.critical(f"获取当前网络ip{e}")
|
127
128
|
|
128
|
-
def _download_and_upload_task(self, download_queue, upload_queue, proxies_dict, ini_info,logger):
|
129
|
+
def _download_and_upload_task(self, download_queue, upload_queue, proxies_dict, ini_info, logger):
|
129
130
|
"""
|
130
131
|
使用两个线程 打开 获取任务、回写任务
|
131
132
|
:param queue:
|
@@ -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=8gbrMQWjn3MZemxWfl8Zf1UKO56bt1eNS97gRqUjgIw,15269
|
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.8.dist-info/LICENSE,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
23
|
+
xtn_tools_pro-1.0.0.4.8.dist-info/METADATA,sha256=BXCb8sqEkKgrADeqSTM05JKMj58eW9OB_SeUDkR2bEo,455
|
24
|
+
xtn_tools_pro-1.0.0.4.8.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
25
|
+
xtn_tools_pro-1.0.0.4.8.dist-info/top_level.txt,sha256=jyB3FLDEr8zE1U7wHczTgIbvUpALhR-ULF7RVEO7O2U,14
|
26
|
+
xtn_tools_pro-1.0.0.4.8.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|