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