xtn-tools-pro 1.0.0.4.6__py3-none-any.whl → 1.0.0.4.8__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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
- 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
- logger.info(f"{p.is_alive()} {p.name} {p.pid} {p}")
101
104
  if not p.is_alive():
102
- print(f"Worker {p.name} is dead. Restarting...")
105
+ print(f"{p.is_alive()} {p.name} {p.pid}")
103
106
  # 进程死掉,重新启动
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
-
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:
@@ -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.8
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=tGEq3-WFwu2efnc2SbSrMztEqIoAaJyO38WQAV5N-xo,15404
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.6.dist-info/LICENSE,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
- xtn_tools_pro-1.0.0.4.6.dist-info/METADATA,sha256=QJW3IFiyb7n_I2yCq1QDsidxubMRA2tgg34wU4UJnns,455
24
- xtn_tools_pro-1.0.0.4.6.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
25
- xtn_tools_pro-1.0.0.4.6.dist-info/top_level.txt,sha256=jyB3FLDEr8zE1U7wHczTgIbvUpALhR-ULF7RVEO7O2U,14
26
- xtn_tools_pro-1.0.0.4.6.dist-info/RECORD,,
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,,