xtn-tools-pro 1.0.0.4.6__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.
Files changed (29) hide show
  1. {xtn-tools-pro-1.0.0.4.6/xtn_tools_pro.egg-info → xtn-tools-pro-1.0.0.4.7}/PKG-INFO +1 -1
  2. {xtn-tools-pro-1.0.0.4.6 → xtn-tools-pro-1.0.0.4.7}/setup.py +1 -1
  3. {xtn-tools-pro-1.0.0.4.6 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro/task_pro/go_fun.py +64 -25
  4. {xtn-tools-pro-1.0.0.4.6 → xtn-tools-pro-1.0.0.4.7/xtn_tools_pro.egg-info}/PKG-INFO +1 -1
  5. {xtn-tools-pro-1.0.0.4.6 → xtn-tools-pro-1.0.0.4.7}/LICENSE +0 -0
  6. {xtn-tools-pro-1.0.0.4.6 → xtn-tools-pro-1.0.0.4.7}/README.md +0 -0
  7. {xtn-tools-pro-1.0.0.4.6 → xtn-tools-pro-1.0.0.4.7}/setup.cfg +0 -0
  8. {xtn-tools-pro-1.0.0.4.6 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro/__init__.py +0 -0
  9. {xtn-tools-pro-1.0.0.4.6 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro/db/MongoDB.py +0 -0
  10. {xtn-tools-pro-1.0.0.4.6 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro/db/MysqlDB.py +0 -0
  11. {xtn-tools-pro-1.0.0.4.6 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro/db/RedisDB.py +0 -0
  12. {xtn-tools-pro-1.0.0.4.6 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro/db/__init__.py +0 -0
  13. {xtn-tools-pro-1.0.0.4.6 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro/proxy/XiaoXiangProxy.py +0 -0
  14. {xtn-tools-pro-1.0.0.4.6 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro/proxy/__init__.py +0 -0
  15. {xtn-tools-pro-1.0.0.4.6 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro/proxy/proxy.py +0 -0
  16. {xtn-tools-pro-1.0.0.4.6 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro/task_pro/__init__.py +0 -0
  17. {xtn-tools-pro-1.0.0.4.6 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro/tools.py +0 -0
  18. {xtn-tools-pro-1.0.0.4.6 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro/utils/__init__.py +0 -0
  19. {xtn-tools-pro-1.0.0.4.6 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro/utils/crypto.py +0 -0
  20. {xtn-tools-pro-1.0.0.4.6 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro/utils/file_utils.py +0 -0
  21. {xtn-tools-pro-1.0.0.4.6 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro/utils/helpers.py +0 -0
  22. {xtn-tools-pro-1.0.0.4.6 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro/utils/log.py +0 -0
  23. {xtn-tools-pro-1.0.0.4.6 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro/utils/retry.py +0 -0
  24. {xtn-tools-pro-1.0.0.4.6 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro/utils/sql.py +0 -0
  25. {xtn-tools-pro-1.0.0.4.6 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro/utils/time_utils.py +0 -0
  26. {xtn-tools-pro-1.0.0.4.6 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro.egg-info/SOURCES.txt +0 -0
  27. {xtn-tools-pro-1.0.0.4.6 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro.egg-info/dependency_links.txt +0 -0
  28. {xtn-tools-pro-1.0.0.4.6 → xtn-tools-pro-1.0.0.4.7}/xtn_tools_pro.egg-info/requires.txt +0 -0
  29. {xtn-tools-pro-1.0.0.4.6 → xtn-tools-pro-1.0.0.4.7}/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.6
3
+ Version: 1.0.0.4.7
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.6", # 版本
18
+ version="1.0.0.4.7", # 版本
19
19
  author="xtn", # 作者
20
20
  author_email="czw011122@gmail.com", # 作者邮箱
21
21
  description="xtn 开发工具", # 模块简介
@@ -73,43 +73,82 @@ 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
- download_task_process = multiprocessing.Process(target=self._download_and_upload_task,
82
- name="_download_and_upload_task",
83
- args=(download_queue, upload_queue, proxies_dict,
84
- self.__ini_info, logger))
85
- processes_list.append(download_task_process)
86
- download_task_process.start()
87
-
88
- # 根据配置启动任务
89
- if go_task_function:
90
- go_task_fun_process = multiprocessing.Process(target=self._go_task_fun_task,
91
- name="_go_task_fun_task",
92
- args=(download_queue, upload_queue, proxies_dict,
93
- self.__ini_info, go_task_function, logger))
94
- processes_list.append(go_task_fun_process)
95
- go_task_fun_process.start()
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
104
  logger.info(f"{p.is_alive()} {p.name} {p.pid} {p}")
101
105
  if not p.is_alive():
102
106
  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)
110
107
 
111
- download_task_process.join()
112
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()
113
152
 
114
153
  def __get_external_ip(self, logger):
115
154
  """
@@ -125,7 +164,7 @@ class GoFun:
125
164
  except Exception as e:
126
165
  logger.critical(f"获取当前网络ip{e}")
127
166
 
128
- 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):
129
168
  """
130
169
  使用两个线程 打开 获取任务、回写任务
131
170
  :param queue:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: xtn-tools-pro
3
- Version: 1.0.0.4.6
3
+ Version: 1.0.0.4.7
4
4
  Summary: xtn 开发工具
5
5
  Author: xtn
6
6
  Author-email: czw011122@gmail.com