xtn-tools-pro 1.0.0.4.5__tar.gz → 1.0.0.4.7__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {xtn-tools-pro-1.0.0.4.5/xtn_tools_pro.egg-info → xtn-tools-pro-1.0.0.4.7}/PKG-INFO +1 -1
- {xtn-tools-pro-1.0.0.4.5 → xtn-tools-pro-1.0.0.4.7}/setup.py +1 -1
- {xtn-tools-pro-1.0.0.4.5 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro/task_pro/go_fun.py +70 -13
- {xtn-tools-pro-1.0.0.4.5 → xtn-tools-pro-1.0.0.4.7/xtn_tools_pro.egg-info}/PKG-INFO +1 -1
- {xtn-tools-pro-1.0.0.4.5 → xtn-tools-pro-1.0.0.4.7}/LICENSE +0 -0
- {xtn-tools-pro-1.0.0.4.5 → xtn-tools-pro-1.0.0.4.7}/README.md +0 -0
- {xtn-tools-pro-1.0.0.4.5 → xtn-tools-pro-1.0.0.4.7}/setup.cfg +0 -0
- {xtn-tools-pro-1.0.0.4.5 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro/__init__.py +0 -0
- {xtn-tools-pro-1.0.0.4.5 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro/db/MongoDB.py +0 -0
- {xtn-tools-pro-1.0.0.4.5 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro/db/MysqlDB.py +0 -0
- {xtn-tools-pro-1.0.0.4.5 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro/db/RedisDB.py +0 -0
- {xtn-tools-pro-1.0.0.4.5 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro/db/__init__.py +0 -0
- {xtn-tools-pro-1.0.0.4.5 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro/proxy/XiaoXiangProxy.py +0 -0
- {xtn-tools-pro-1.0.0.4.5 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro/proxy/__init__.py +0 -0
- {xtn-tools-pro-1.0.0.4.5 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro/proxy/proxy.py +0 -0
- {xtn-tools-pro-1.0.0.4.5 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro/task_pro/__init__.py +0 -0
- {xtn-tools-pro-1.0.0.4.5 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro/tools.py +0 -0
- {xtn-tools-pro-1.0.0.4.5 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro/utils/__init__.py +0 -0
- {xtn-tools-pro-1.0.0.4.5 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro/utils/crypto.py +0 -0
- {xtn-tools-pro-1.0.0.4.5 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro/utils/file_utils.py +0 -0
- {xtn-tools-pro-1.0.0.4.5 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro/utils/helpers.py +0 -0
- {xtn-tools-pro-1.0.0.4.5 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro/utils/log.py +0 -0
- {xtn-tools-pro-1.0.0.4.5 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro/utils/retry.py +0 -0
- {xtn-tools-pro-1.0.0.4.5 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro/utils/sql.py +0 -0
- {xtn-tools-pro-1.0.0.4.5 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro/utils/time_utils.py +0 -0
- {xtn-tools-pro-1.0.0.4.5 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro.egg-info/SOURCES.txt +0 -0
- {xtn-tools-pro-1.0.0.4.5 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro.egg-info/dependency_links.txt +0 -0
- {xtn-tools-pro-1.0.0.4.5 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro.egg-info/requires.txt +0 -0
- {xtn-tools-pro-1.0.0.4.5 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro.egg-info/top_level.txt +0 -0
@@ -77,21 +77,78 @@ class GoFun:
|
|
77
77
|
download_queue = multiprocessing.Queue()
|
78
78
|
upload_queue = multiprocessing.Queue()
|
79
79
|
proxies_dict = manager.dict()
|
80
|
-
download_task_process = multiprocessing.Process(target=self._download_and_upload_task,
|
81
|
-
args=(download_queue, upload_queue, proxies_dict,
|
82
|
-
self.__ini_info, logger))
|
83
|
-
download_task_process.start()
|
84
80
|
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
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
|
+
}
|
92
94
|
|
93
|
-
|
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()
|
94
99
|
|
100
|
+
while True:
|
101
|
+
time.sleep(10)
|
102
|
+
for p in processes_list:
|
103
|
+
# 检查子进程是否存活
|
104
|
+
logger.info(f"{p.is_alive()} {p.name} {p.pid} {p}")
|
105
|
+
if not p.is_alive():
|
106
|
+
print(f"Worker {p.name} is dead. Restarting...")
|
107
|
+
|
108
|
+
|
109
|
+
# 进程死掉,重新启动
|
110
|
+
# processes.remove(p)
|
111
|
+
# new_p = multiprocessing.Process(target=worker, args=(f"Worker-{len(processes) + 1}",))
|
112
|
+
# processes.append(new_p)
|
113
|
+
# new_p.start()
|
114
|
+
#
|
115
|
+
# time.sleep(10)
|
116
|
+
|
117
|
+
# download_task_process.join()
|
118
|
+
|
119
|
+
|
120
|
+
# download_task_process = multiprocessing.Process(target=self._download_and_upload_task,
|
121
|
+
# name="_download_and_upload_task",
|
122
|
+
# args=(download_queue, upload_queue, proxies_dict,
|
123
|
+
# self.__ini_info, logger))
|
124
|
+
# processes_list.append(download_task_process)
|
125
|
+
# download_task_process.start()
|
126
|
+
|
127
|
+
# # 根据配置启动任务
|
128
|
+
# if go_task_function:
|
129
|
+
# go_task_fun_process = multiprocessing.Process(target=self._go_task_fun_task,
|
130
|
+
# name="_go_task_fun_task",
|
131
|
+
# args=(download_queue, upload_queue, proxies_dict,
|
132
|
+
# self.__ini_info, go_task_function, logger))
|
133
|
+
# processes_list.append(go_task_fun_process)
|
134
|
+
# go_task_fun_process.start()
|
135
|
+
|
136
|
+
# while True:
|
137
|
+
# time.sleep(11)
|
138
|
+
# for p in processes_list:
|
139
|
+
# # 检查子进程是否存活
|
140
|
+
# logger.info(f"{p.is_alive()} {p.name} {p.pid} {p}")
|
141
|
+
# if not p.is_alive():
|
142
|
+
# print(f"Worker {p.name} is dead. Restarting...")
|
143
|
+
# 进程死掉,重新启动
|
144
|
+
# processes.remove(p)
|
145
|
+
# new_p = multiprocessing.Process(target=worker, args=(f"Worker-{len(processes) + 1}",))
|
146
|
+
# processes.append(new_p)
|
147
|
+
# new_p.start()
|
148
|
+
|
149
|
+
# time.sleep(10)
|
150
|
+
|
151
|
+
# download_task_process.join()
|
95
152
|
|
96
153
|
def __get_external_ip(self, logger):
|
97
154
|
"""
|
@@ -107,7 +164,7 @@ class GoFun:
|
|
107
164
|
except Exception as e:
|
108
165
|
logger.critical(f"获取当前网络ip{e}")
|
109
166
|
|
110
|
-
def _download_and_upload_task(self, download_queue, upload_queue, proxies_dict, ini_info,logger):
|
167
|
+
def _download_and_upload_task(self, download_queue, upload_queue, proxies_dict, ini_info, logger):
|
111
168
|
"""
|
112
169
|
使用两个线程 打开 获取任务、回写任务
|
113
170
|
:param queue:
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{xtn-tools-pro-1.0.0.4.5 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro.egg-info/dependency_links.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|