xtn-tools-pro 1.0.0.4.0__tar.gz → 1.0.0.4.2__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (29) hide show
  1. {xtn-tools-pro-1.0.0.4.0/xtn_tools_pro.egg-info → xtn-tools-pro-1.0.0.4.2}/PKG-INFO +1 -1
  2. {xtn-tools-pro-1.0.0.4.0 → xtn-tools-pro-1.0.0.4.2}/setup.py +1 -1
  3. {xtn-tools-pro-1.0.0.4.0 → xtn-tools-pro-1.0.0.4.2}/xtn_tools_pro/task_pro/go_fun.py +13 -12
  4. {xtn-tools-pro-1.0.0.4.0 → xtn-tools-pro-1.0.0.4.2/xtn_tools_pro.egg-info}/PKG-INFO +1 -1
  5. {xtn-tools-pro-1.0.0.4.0 → xtn-tools-pro-1.0.0.4.2}/LICENSE +0 -0
  6. {xtn-tools-pro-1.0.0.4.0 → xtn-tools-pro-1.0.0.4.2}/README.md +0 -0
  7. {xtn-tools-pro-1.0.0.4.0 → xtn-tools-pro-1.0.0.4.2}/setup.cfg +0 -0
  8. {xtn-tools-pro-1.0.0.4.0 → xtn-tools-pro-1.0.0.4.2}/xtn_tools_pro/__init__.py +0 -0
  9. {xtn-tools-pro-1.0.0.4.0 → xtn-tools-pro-1.0.0.4.2}/xtn_tools_pro/db/MongoDB.py +0 -0
  10. {xtn-tools-pro-1.0.0.4.0 → xtn-tools-pro-1.0.0.4.2}/xtn_tools_pro/db/MysqlDB.py +0 -0
  11. {xtn-tools-pro-1.0.0.4.0 → xtn-tools-pro-1.0.0.4.2}/xtn_tools_pro/db/RedisDB.py +0 -0
  12. {xtn-tools-pro-1.0.0.4.0 → xtn-tools-pro-1.0.0.4.2}/xtn_tools_pro/db/__init__.py +0 -0
  13. {xtn-tools-pro-1.0.0.4.0 → xtn-tools-pro-1.0.0.4.2}/xtn_tools_pro/proxy/XiaoXiangProxy.py +0 -0
  14. {xtn-tools-pro-1.0.0.4.0 → xtn-tools-pro-1.0.0.4.2}/xtn_tools_pro/proxy/__init__.py +0 -0
  15. {xtn-tools-pro-1.0.0.4.0 → xtn-tools-pro-1.0.0.4.2}/xtn_tools_pro/proxy/proxy.py +0 -0
  16. {xtn-tools-pro-1.0.0.4.0 → xtn-tools-pro-1.0.0.4.2}/xtn_tools_pro/task_pro/__init__.py +0 -0
  17. {xtn-tools-pro-1.0.0.4.0 → xtn-tools-pro-1.0.0.4.2}/xtn_tools_pro/tools.py +0 -0
  18. {xtn-tools-pro-1.0.0.4.0 → xtn-tools-pro-1.0.0.4.2}/xtn_tools_pro/utils/__init__.py +0 -0
  19. {xtn-tools-pro-1.0.0.4.0 → xtn-tools-pro-1.0.0.4.2}/xtn_tools_pro/utils/crypto.py +0 -0
  20. {xtn-tools-pro-1.0.0.4.0 → xtn-tools-pro-1.0.0.4.2}/xtn_tools_pro/utils/file_utils.py +0 -0
  21. {xtn-tools-pro-1.0.0.4.0 → xtn-tools-pro-1.0.0.4.2}/xtn_tools_pro/utils/helpers.py +0 -0
  22. {xtn-tools-pro-1.0.0.4.0 → xtn-tools-pro-1.0.0.4.2}/xtn_tools_pro/utils/log.py +0 -0
  23. {xtn-tools-pro-1.0.0.4.0 → xtn-tools-pro-1.0.0.4.2}/xtn_tools_pro/utils/retry.py +0 -0
  24. {xtn-tools-pro-1.0.0.4.0 → xtn-tools-pro-1.0.0.4.2}/xtn_tools_pro/utils/sql.py +0 -0
  25. {xtn-tools-pro-1.0.0.4.0 → xtn-tools-pro-1.0.0.4.2}/xtn_tools_pro/utils/time_utils.py +0 -0
  26. {xtn-tools-pro-1.0.0.4.0 → xtn-tools-pro-1.0.0.4.2}/xtn_tools_pro.egg-info/SOURCES.txt +0 -0
  27. {xtn-tools-pro-1.0.0.4.0 → xtn-tools-pro-1.0.0.4.2}/xtn_tools_pro.egg-info/dependency_links.txt +0 -0
  28. {xtn-tools-pro-1.0.0.4.0 → xtn-tools-pro-1.0.0.4.2}/xtn_tools_pro.egg-info/requires.txt +0 -0
  29. {xtn-tools-pro-1.0.0.4.0 → xtn-tools-pro-1.0.0.4.2}/xtn_tools_pro.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: xtn-tools-pro
3
- Version: 1.0.0.4.0
3
+ Version: 1.0.0.4.2
4
4
  Summary: xtn 开发工具
5
5
  Author: xtn
6
6
  Author-email: czw011122@gmail.com
@@ -15,7 +15,7 @@ with open("README.md", "r") as f:
15
15
 
16
16
  setuptools.setup(
17
17
  name="xtn-tools-pro", # 模块名称
18
- version="1.0.0.4.0", # 版本
18
+ version="1.0.0.4.2", # 版本
19
19
  author="xtn", # 作者
20
20
  author_email="czw011122@gmail.com", # 作者邮箱
21
21
  description="xtn 开发工具", # 模块简介
@@ -51,7 +51,7 @@ class GoFun:
51
51
  raise Exception(f"ini_dict 配置 {server_k} 不存在")
52
52
 
53
53
  logger.debug(
54
- f"\n当前设置配置如下:\n\t功能函数重启间隔:{restart_time};进程数:{processes_num};线程数:{thread_num}\n\t代理更新间隔:{update_proxies_time};回写间隔{upload_task_tine}\n")
54
+ f"\n无敌框架来咯~~~当前设置配置如下:\n\t功能函数重启间隔:{restart_time};进程数:{processes_num};线程数:{thread_num}\n\t代理更新间隔:{update_proxies_time};回写间隔{upload_task_tine}\n")
55
55
 
56
56
  if port:
57
57
  task_host = f"http://{host}:{port}"
@@ -61,7 +61,6 @@ class GoFun:
61
61
  download_url = task_host + "/filter_server/phone/get"
62
62
  upload_url = task_host + "/filter_server/phone/update"
63
63
  update_proxy_url = task_host + f"/filter_server/proxy/random/get?taskType={task}&limit=1"
64
- logger.debug("无敌框架来咯~")
65
64
 
66
65
  external_ip = self.__get_external_ip(self.logger)
67
66
 
@@ -139,7 +138,7 @@ class GoFun:
139
138
  while True:
140
139
  try:
141
140
  qsize = download_queue.qsize()
142
- logger.info(f"当前队列剩余任务数:{qsize}")
141
+ logger.info(f"当前队列剩余任务数:{qsize}")
143
142
  if qsize >= 10:
144
143
  time.sleep(2)
145
144
  continue
@@ -156,9 +155,9 @@ class GoFun:
156
155
  if not phone_item.isdigit(): # 判断是否全是整数(不包括小数点或负号)
157
156
  continue
158
157
  download_queue.put(task_item)
159
- logger.warning(f"成功获取任务个数:{len(result_list)}")
158
+ logger.warning(f"成功获取任务个数:{len(result_list)}")
160
159
  except Exception as e:
161
- logger.critical(f"获取任务请求异常:{e}")
160
+ logger.critical(f"获取任务请求异常:{e}")
162
161
  time.sleep(2)
163
162
 
164
163
  def __upload_task(self, upload_queue, ini_info, logger):
@@ -234,13 +233,13 @@ class GoFun:
234
233
  status_code = resp.status_code
235
234
  result_list = json_data.get("result", [])
236
235
  if not result_list or status_code != 200:
237
- logger.critical(f"获取代理响应异常:{status_code} {len(result_list)} {json_data}")
236
+ logger.critical(f"获取代理响应异常:{status_code} {len(result_list)} {json_data}")
238
237
  time.sleep(2)
239
238
 
240
239
  proxies_dict['http'] = 'http://' + random.choice(result_list)
241
240
  proxies_dict['https'] = 'http://' + random.choice(result_list)
242
241
  proxies_dict['status'] = True
243
- logger.warning(f"成功获取代理:{proxies_dict}")
242
+ logger.warning(f"成功获取代理:{proxies_dict}")
244
243
 
245
244
  if not update_proxies_time:
246
245
  # 一直执行 不退出
@@ -249,7 +248,7 @@ class GoFun:
249
248
  time.sleep(update_proxies_time)
250
249
  proxies_dict['status'] = False
251
250
  except Exception as e:
252
- logger.critical(f"获取代理请求异常:{e}")
251
+ logger.critical(f"获取代理请求异常:{e}")
253
252
  time.sleep(2)
254
253
 
255
254
  def _go_task_fun_task(self, download_queue, upload_queue, proxies_dict, ini_info, go_task_function, logger):
@@ -277,11 +276,13 @@ class GoFun:
277
276
  try:
278
277
  if not processes_start_list:
279
278
  go_task_fun_cnt += 1
280
- logger.debug(
279
+ logger.info(
281
280
  f"第{go_task_fun_cnt}次,进程数:{processes_num},线程数:{thread_num},等待{restart_time}秒强制下一次")
282
281
  for i in range(processes_num):
283
282
  p = Process(target=self._run_with_timeout,
284
- args=(download_queue, upload_queue, proxies_dict, thread_num, go_task_function))
283
+ args=(
284
+ download_queue, upload_queue, proxies_dict, thread_num, logger,
285
+ go_task_function))
285
286
  processes_start_list.append(p)
286
287
  p.start()
287
288
 
@@ -299,7 +300,7 @@ class GoFun:
299
300
  except Exception as e:
300
301
  pass
301
302
 
302
- def _run_with_timeout(self, download_queue, upload_queue, proxies_dict, thread_num, go_task_function):
303
+ def _run_with_timeout(self, download_queue, upload_queue, proxies_dict, thread_num, logger, go_task_function):
303
304
  caller = inspect.stack()[1] # 获取调用者的调用栈信息
304
305
  caller_name = caller.function # 获取调用者的函数名
305
306
  caller_class = caller.frame.f_locals.get('self', None) # 获取调用者的类实例
@@ -308,7 +309,7 @@ class GoFun:
308
309
 
309
310
  with concurrent.futures.ThreadPoolExecutor(max_workers=thread_num) as executor:
310
311
  # 提交10个函数到线程池中执行
311
- futures = [executor.submit(go_task_function, download_queue, upload_queue, proxies_dict) for _ in
312
+ futures = [executor.submit(go_task_function, download_queue, upload_queue, proxies_dict, logger) for _ in
312
313
  range(thread_num)]
313
314
 
314
315
  # 等待所有线程完成
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: xtn-tools-pro
3
- Version: 1.0.0.4.0
3
+ Version: 1.0.0.4.2
4
4
  Summary: xtn 开发工具
5
5
  Author: xtn
6
6
  Author-email: czw011122@gmail.com