xtn-tools-pro 1.0.0.4.5__py3-none-any.whl → 1.0.0.4.7__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
- if go_task_function:
87
- go_task_fun_process = multiprocessing.Process(target=self._go_task_fun_task,
88
- args=(download_queue, upload_queue, proxies_dict,
89
- self.__ini_info, go_task_function, logger))
90
- go_task_fun_process.start()
91
- go_task_fun_process.join()
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
- download_task_process.join()
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:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: xtn-tools-pro
3
- Version: 1.0.0.4.5
3
+ Version: 1.0.0.4.7
4
4
  Summary: xtn 开发工具
5
5
  Author: xtn
6
6
  Author-email: czw011122@gmail.com
@@ -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=UzLFFPJCVFp-W9cfQshMgEAMzPbgVFoolFZ--j7vTfM,14526
13
+ xtn_tools_pro/task_pro/go_fun.py,sha256=l-VQZFf87y-rgq10dgCSFnzYjsXw90N9Hs6SRDUshJg,16876
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.5.dist-info/LICENSE,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
- xtn_tools_pro-1.0.0.4.5.dist-info/METADATA,sha256=hemhacu9nJVeqKXGG1YT-TbGY_f_6sDAkI9aJusL5NQ,455
24
- xtn_tools_pro-1.0.0.4.5.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
25
- xtn_tools_pro-1.0.0.4.5.dist-info/top_level.txt,sha256=jyB3FLDEr8zE1U7wHczTgIbvUpALhR-ULF7RVEO7O2U,14
26
- xtn_tools_pro-1.0.0.4.5.dist-info/RECORD,,
22
+ xtn_tools_pro-1.0.0.4.7.dist-info/LICENSE,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
+ xtn_tools_pro-1.0.0.4.7.dist-info/METADATA,sha256=1jz_Avcu6z9s1Yt-5SzIf5Yclsu2W1fHX7f5tzI6bGk,455
24
+ xtn_tools_pro-1.0.0.4.7.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
25
+ xtn_tools_pro-1.0.0.4.7.dist-info/top_level.txt,sha256=jyB3FLDEr8zE1U7wHczTgIbvUpALhR-ULF7RVEO7O2U,14
26
+ xtn_tools_pro-1.0.0.4.7.dist-info/RECORD,,