xtn-tools-pro 1.0.0.5.4__py3-none-any.whl → 1.0.0.5.6__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,39 +73,49 @@ class GoFun:
73
73
  if not go_task_function:
74
74
  return
75
75
 
76
+ self.__go_task_function = go_task_function
77
+ self.__create_process()
78
+
79
+ def __create_process(self):
76
80
  # 共享任务队列
77
81
  manager = multiprocessing.Manager()
78
82
  download_queue = multiprocessing.Queue()
79
83
  upload_queue = multiprocessing.Queue()
80
84
  proxies_dict = manager.dict()
81
85
 
82
- processes_item_info = {
86
+ self.download_queue = download_queue
87
+ self.upload_queue = upload_queue
88
+ self.proxies_dict = proxies_dict
89
+
90
+ restart_time = int(self.__ini_info["restart_time"])
91
+ self.__processes_item_info = {
83
92
  "_download_and_upload_task": {
84
93
  "target": self._download_and_upload_task,
85
94
  "name": "_download_and_upload_task",
86
- "args": (download_queue, upload_queue, proxies_dict, self.__ini_info, logger),
95
+ "args": (download_queue, upload_queue, proxies_dict, self.__ini_info, self.logger),
87
96
  "start_time": 0,
88
- "restart_time": int(restart_time),
97
+ "restart_time": restart_time,
89
98
  },
90
99
  "_go_task_fun_task": {
91
100
  "target": self._go_task_fun_task,
92
101
  "name": "_go_task_fun_task",
93
- "args": (download_queue, upload_queue, proxies_dict, self.__ini_info, go_task_function, logger),
102
+ "args": (
103
+ download_queue, upload_queue, proxies_dict, self.__ini_info, self.__go_task_function, self.logger),
94
104
  "start_time": 0,
95
105
  "restart_time": int(restart_time),
96
106
  },
97
107
  }
98
108
 
99
- for p_item in processes_item_info.values():
109
+ for p_item in self.__processes_item_info.values():
100
110
  task_process = multiprocessing.Process(target=p_item["target"], name=p_item["name"], args=p_item["args"])
101
- processes_item_info[p_item["name"]]["task_process"] = task_process
102
- processes_item_info[p_item["name"]]["start_time"] = get_time_now_timestamp(is_time_10=True)
111
+ self.__processes_item_info[p_item["name"]]["task_process"] = task_process
112
+ self.__processes_item_info[p_item["name"]]["start_time"] = get_time_now_timestamp(is_time_10=True)
103
113
  task_process.start()
104
- logger.warning(f"进程已启动,{task_process.is_alive()},{task_process.name},{task_process.pid}")
114
+ self.logger.warning(f"进程已启动,{task_process.is_alive()},{task_process.name},{task_process.pid}")
105
115
 
106
116
  while True:
107
117
  time.sleep(10)
108
- for p_item_info in processes_item_info.values():
118
+ for p_item_info in self.__processes_item_info.values():
109
119
  task_process = p_item_info["task_process"]
110
120
  task_process_start_time = p_item_info["start_time"]
111
121
  task_process_restart_time = p_item_info.get("restart_time", 0)
@@ -114,31 +124,33 @@ class GoFun:
114
124
  task_process_name = task_process.name
115
125
  task_process_is_alive = task_process.is_alive()
116
126
  if not task_process_is_alive:
117
- logger.critical(f"进程不存在,{task_process_is_alive},{task_process_name},{task_process_pid}")
118
- p_item = processes_item_info[task_process_name]
127
+ self.logger.critical(f"进程不存在,{task_process_is_alive},{task_process_name},{task_process_pid}")
128
+ p_item = self.__processes_item_info[task_process_name]
119
129
  task_process = multiprocessing.Process(target=p_item["target"], name=p_item["name"],
120
130
  args=p_item["args"])
121
131
 
122
- processes_item_info[task_process_name]["task_process"] = task_process
123
- processes_item_info[task_process_name]["start_time"] = get_time_now_timestamp(is_time_10=True)
132
+ self.__processes_item_info[task_process_name]["task_process"] = task_process
133
+ self.__processes_item_info[task_process_name]["start_time"] = get_time_now_timestamp(
134
+ is_time_10=True)
124
135
  task_process.start()
125
- logger.warning(f"进程已重启,{task_process.is_alive()},{task_process.name},{task_process.pid}")
136
+ self.logger.warning(f"进程已重启,{task_process.is_alive()},{task_process.name},{task_process.pid}")
126
137
  else:
127
138
  if not task_process_restart_time:
128
139
  continue
129
140
  if task_process_start_time + task_process_restart_time <= get_time_now_timestamp(is_time_10=True):
130
- logger.critical(
141
+ self.logger.critical(
131
142
  f"进程已超过设置时间,正在强制关闭进程,{task_process_restart_time},{task_process_is_alive},{task_process_name},{task_process_pid}")
132
143
  task_process.terminate()
133
144
  task_process.join() # 等待进程确实结束
134
- p_item = processes_item_info[task_process_name]
145
+ p_item = self.__processes_item_info[task_process_name]
135
146
  task_process = multiprocessing.Process(target=p_item["target"], name=p_item["name"],
136
147
  args=p_item["args"])
137
148
 
138
- processes_item_info[task_process_name]["task_process"] = task_process
139
- processes_item_info[task_process_name]["start_time"] = get_time_now_timestamp(is_time_10=True)
149
+ self.__processes_item_info[task_process_name]["task_process"] = task_process
150
+ self.__processes_item_info[task_process_name]["start_time"] = get_time_now_timestamp(
151
+ is_time_10=True)
140
152
  task_process.start()
141
- logger.warning(f"进程已重启,{task_process.is_alive()},{task_process.name},{task_process.pid}")
153
+ self.logger.warning(f"进程已重启,{task_process.is_alive()},{task_process.name},{task_process.pid}")
142
154
 
143
155
  def __get_external_ip(self, logger):
144
156
  """
@@ -402,6 +414,7 @@ class GoFun:
402
414
  return task_item
403
415
  except Exception as e:
404
416
  self.logger.critical(f"get_download_task 获取下载任务 报错 {e}")
417
+ return False
405
418
 
406
419
  def update_upload_task(self, upload_queue, task_item):
407
420
  """
@@ -415,3 +428,7 @@ class GoFun:
415
428
  return task_item
416
429
  except Exception as e:
417
430
  self.logger.critical(f"update_upload_task 更新任务 报错 {e}")
431
+ return False
432
+
433
+ def reboot_process(self):
434
+ print(self.__processes_item_info)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: xtn-tools-pro
3
- Version: 1.0.0.5.4
3
+ Version: 1.0.0.5.6
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=BoM9KeogIkhEqzgx-U__UYdojqFLf2n956AhVrzkPpM,18511
13
+ xtn_tools_pro/task_pro/go_fun.py,sha256=hWEt2uJ9FCvJH7PhVZttS-11A7J6zbRKwX7c5YLYQag,19144
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=m0WtTWkkwtrki1ftP8vCDR8bMfK2gcfUGx5J2x2IlLQ,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.5.4.dist-info/LICENSE,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
- xtn_tools_pro-1.0.0.5.4.dist-info/METADATA,sha256=LYnKG8SuPn-40V02kWwI_3WZclIJdZghLCD5QHUQm8w,455
24
- xtn_tools_pro-1.0.0.5.4.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
25
- xtn_tools_pro-1.0.0.5.4.dist-info/top_level.txt,sha256=jyB3FLDEr8zE1U7wHczTgIbvUpALhR-ULF7RVEO7O2U,14
26
- xtn_tools_pro-1.0.0.5.4.dist-info/RECORD,,
22
+ xtn_tools_pro-1.0.0.5.6.dist-info/LICENSE,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
+ xtn_tools_pro-1.0.0.5.6.dist-info/METADATA,sha256=Iv7HgdNOFDNn9OxtFrruOLvz3NkAoMpJXqSkUKZ5yD0,455
24
+ xtn_tools_pro-1.0.0.5.6.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
25
+ xtn_tools_pro-1.0.0.5.6.dist-info/top_level.txt,sha256=jyB3FLDEr8zE1U7wHczTgIbvUpALhR-ULF7RVEO7O2U,14
26
+ xtn_tools_pro-1.0.0.5.6.dist-info/RECORD,,