xtn-tools-pro 1.0.0.4.9__py3-none-any.whl → 1.0.0.5.1__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.
- xtn_tools_pro/task_pro/go_fun.py +36 -8
 - xtn_tools_pro/utils/log.py +5 -5
 - {xtn_tools_pro-1.0.0.4.9.dist-info → xtn_tools_pro-1.0.0.5.1.dist-info}/METADATA +1 -1
 - {xtn_tools_pro-1.0.0.4.9.dist-info → xtn_tools_pro-1.0.0.5.1.dist-info}/RECORD +7 -7
 - {xtn_tools_pro-1.0.0.4.9.dist-info → xtn_tools_pro-1.0.0.5.1.dist-info}/LICENSE +0 -0
 - {xtn_tools_pro-1.0.0.4.9.dist-info → xtn_tools_pro-1.0.0.5.1.dist-info}/WHEEL +0 -0
 - {xtn_tools_pro-1.0.0.4.9.dist-info → xtn_tools_pro-1.0.0.5.1.dist-info}/top_level.txt +0 -0
 
    
        xtn_tools_pro/task_pro/go_fun.py
    CHANGED
    
    | 
         @@ -16,6 +16,7 @@ import threading 
     | 
|
| 
       16 
16 
     | 
    
         
             
            import multiprocessing
         
     | 
| 
       17 
17 
     | 
    
         
             
            import concurrent.futures
         
     | 
| 
       18 
18 
     | 
    
         
             
            from multiprocessing import Process
         
     | 
| 
      
 19 
     | 
    
         
            +
            from xtn_tools_pro.utils.time_utils import get_time_now_timestamp
         
     | 
| 
       19 
20 
     | 
    
         | 
| 
       20 
21 
     | 
    
         | 
| 
       21 
22 
     | 
    
         
             
            class GoFun:
         
     | 
| 
         @@ -78,37 +79,64 @@ class GoFun: 
     | 
|
| 
       78 
79 
     | 
    
         
             
                    upload_queue = multiprocessing.Queue()
         
     | 
| 
       79 
80 
     | 
    
         
             
                    proxies_dict = manager.dict()
         
     | 
| 
       80 
81 
     | 
    
         | 
| 
       81 
     | 
    
         
            -
                    processes_list = []
         
     | 
| 
       82 
82 
     | 
    
         
             
                    processes_item_info = {
         
     | 
| 
       83 
83 
     | 
    
         
             
                        "_download_and_upload_task": {
         
     | 
| 
       84 
84 
     | 
    
         
             
                            "target": self._download_and_upload_task,
         
     | 
| 
       85 
85 
     | 
    
         
             
                            "name": "_download_and_upload_task",
         
     | 
| 
       86 
86 
     | 
    
         
             
                            "args": (download_queue, upload_queue, proxies_dict, self.__ini_info, logger),
         
     | 
| 
      
 87 
     | 
    
         
            +
                            "start_time": 0,
         
     | 
| 
       87 
88 
     | 
    
         
             
                        },
         
     | 
| 
       88 
89 
     | 
    
         
             
                        "_go_task_fun_task": {
         
     | 
| 
       89 
90 
     | 
    
         
             
                            "target": self._go_task_fun_task,
         
     | 
| 
       90 
91 
     | 
    
         
             
                            "name": "_go_task_fun_task",
         
     | 
| 
       91 
92 
     | 
    
         
             
                            "args": (download_queue, upload_queue, proxies_dict, self.__ini_info, go_task_function, logger),
         
     | 
| 
      
 93 
     | 
    
         
            +
                            "start_time": 0,
         
     | 
| 
      
 94 
     | 
    
         
            +
                            "restart_time": int(restart_time),
         
     | 
| 
       92 
95 
     | 
    
         
             
                        },
         
     | 
| 
       93 
96 
     | 
    
         
             
                    }
         
     | 
| 
       94 
97 
     | 
    
         | 
| 
       95 
98 
     | 
    
         
             
                    for p_item in processes_item_info.values():
         
     | 
| 
       96 
99 
     | 
    
         
             
                        task_process = multiprocessing.Process(target=p_item["target"], name=p_item["name"], args=p_item["args"])
         
     | 
| 
       97 
     | 
    
         
            -
                         
     | 
| 
      
 100 
     | 
    
         
            +
                        processes_item_info[p_item["name"]]["task_process"] = task_process
         
     | 
| 
      
 101 
     | 
    
         
            +
                        processes_item_info[p_item["name"]]["start_time"] = get_time_now_timestamp(is_time_10=True)
         
     | 
| 
       98 
102 
     | 
    
         
             
                        task_process.start()
         
     | 
| 
      
 103 
     | 
    
         
            +
                        logger.warning(f"进程已启动,{task_process.is_alive()},{task_process.name},{task_process.pid}")
         
     | 
| 
       99 
104 
     | 
    
         | 
| 
       100 
105 
     | 
    
         
             
                    while True:
         
     | 
| 
       101 
106 
     | 
    
         
             
                        time.sleep(10)
         
     | 
| 
       102 
     | 
    
         
            -
                        for  
     | 
| 
      
 107 
     | 
    
         
            +
                        for p_item_info in processes_item_info.values():
         
     | 
| 
      
 108 
     | 
    
         
            +
                            task_process = p_item_info["task_process"]
         
     | 
| 
      
 109 
     | 
    
         
            +
                            task_process_start_time = p_item_info["start_time"]
         
     | 
| 
      
 110 
     | 
    
         
            +
                            task_process_restart_time = p_item_info.get("restart_time",0)
         
     | 
| 
       103 
111 
     | 
    
         
             
                            # 检查子进程是否存活
         
     | 
| 
       104 
     | 
    
         
            -
                             
     | 
| 
       105 
     | 
    
         
            -
             
     | 
| 
       106 
     | 
    
         
            -
             
     | 
| 
       107 
     | 
    
         
            -
             
     | 
| 
      
 112 
     | 
    
         
            +
                            task_process_pid = task_process.pid
         
     | 
| 
      
 113 
     | 
    
         
            +
                            task_process_name = task_process.name
         
     | 
| 
      
 114 
     | 
    
         
            +
                            task_process_is_alive = task_process.is_alive()
         
     | 
| 
      
 115 
     | 
    
         
            +
                            if not task_process_is_alive:
         
     | 
| 
      
 116 
     | 
    
         
            +
                                logger.critical(f"进程不存在,{task_process_is_alive},{task_process_name},{task_process_pid}")
         
     | 
| 
      
 117 
     | 
    
         
            +
                                p_item = processes_item_info[task_process_name]
         
     | 
| 
       108 
118 
     | 
    
         
             
                                task_process = multiprocessing.Process(target=p_item["target"], name=p_item["name"],
         
     | 
| 
       109 
119 
     | 
    
         
             
                                                                       args=p_item["args"])
         
     | 
| 
       110 
     | 
    
         
            -
             
     | 
| 
      
 120 
     | 
    
         
            +
             
     | 
| 
      
 121 
     | 
    
         
            +
                                processes_item_info[task_process_name]["task_process"] = task_process
         
     | 
| 
      
 122 
     | 
    
         
            +
                                processes_item_info[task_process_name]["start_time"] = get_time_now_timestamp(is_time_10=True)
         
     | 
| 
       111 
123 
     | 
    
         
             
                                task_process.start()
         
     | 
| 
      
 124 
     | 
    
         
            +
                                logger.warning(f"进程已重启,{task_process.is_alive()},{task_process.name},{task_process.pid}")
         
     | 
| 
      
 125 
     | 
    
         
            +
                            else:
         
     | 
| 
      
 126 
     | 
    
         
            +
                                if not task_process_restart_time:
         
     | 
| 
      
 127 
     | 
    
         
            +
                                    continue
         
     | 
| 
      
 128 
     | 
    
         
            +
                                if task_process_start_time+task_process_restart_time <= get_time_now_timestamp(is_time_10=True):
         
     | 
| 
      
 129 
     | 
    
         
            +
                                    logger.critical(f"进程已超过设置时间,正在强制关闭进程,{task_process_restart_time},{task_process_is_alive},{task_process_name},{task_process_pid}")
         
     | 
| 
      
 130 
     | 
    
         
            +
                                    task_process.terminate()
         
     | 
| 
      
 131 
     | 
    
         
            +
                                    task_process.join()  # 等待进程确实结束
         
     | 
| 
      
 132 
     | 
    
         
            +
                                    p_item = processes_item_info[task_process_name]
         
     | 
| 
      
 133 
     | 
    
         
            +
                                    task_process = multiprocessing.Process(target=p_item["target"], name=p_item["name"],
         
     | 
| 
      
 134 
     | 
    
         
            +
                                                                           args=p_item["args"])
         
     | 
| 
      
 135 
     | 
    
         
            +
             
     | 
| 
      
 136 
     | 
    
         
            +
                                    processes_item_info[task_process_name]["task_process"] = task_process
         
     | 
| 
      
 137 
     | 
    
         
            +
                                    processes_item_info[task_process_name]["start_time"] = get_time_now_timestamp(is_time_10=True)
         
     | 
| 
      
 138 
     | 
    
         
            +
                                    task_process.start()
         
     | 
| 
      
 139 
     | 
    
         
            +
                                    logger.warning(f"进程已重启,{task_process.is_alive()},{task_process.name},{task_process.pid}")
         
     | 
| 
       112 
140 
     | 
    
         | 
| 
       113 
141 
     | 
    
         
             
                def __get_external_ip(self, logger):
         
     | 
| 
       114 
142 
     | 
    
         
             
                    """
         
     | 
    
        xtn_tools_pro/utils/log.py
    CHANGED
    
    | 
         @@ -224,8 +224,8 @@ if __name__ == '__main__': 
     | 
|
| 
       224 
224 
     | 
    
         
             
                             color=True, mode='a', save_time_log_path='./logs')
         
     | 
| 
       225 
225 
     | 
    
         
             
                # import time
         
     | 
| 
       226 
226 
     | 
    
         
             
                # while True:
         
     | 
| 
       227 
     | 
    
         
            -
                 
     | 
| 
       228 
     | 
    
         
            -
                 
     | 
| 
       229 
     | 
    
         
            -
                 
     | 
| 
       230 
     | 
    
         
            -
                 
     | 
| 
       231 
     | 
    
         
            -
                 
     | 
| 
      
 227 
     | 
    
         
            +
                logger.debug("debug message")
         
     | 
| 
      
 228 
     | 
    
         
            +
                logger.info("info level message")
         
     | 
| 
      
 229 
     | 
    
         
            +
                logger.warning("warning level message")
         
     | 
| 
      
 230 
     | 
    
         
            +
                logger.critical("critical level message 你好")
         
     | 
| 
      
 231 
     | 
    
         
            +
                time.sleep(1)
         
     | 
| 
         @@ -10,17 +10,17 @@ 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= 
     | 
| 
      
 13 
     | 
    
         
            +
            xtn_tools_pro/task_pro/go_fun.py,sha256=4iVdUAbAxtUU6WszTY66Y1uxFhap6bPyXnMgOK8MkhQ,17504
         
     | 
| 
       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
         
     | 
| 
       17 
17 
     | 
    
         
             
            xtn_tools_pro/utils/helpers.py,sha256=eHhvhcw_jcUhCA6HwOqpD4XU_V_ZoHDgj3qtLR8yzx8,3812
         
     | 
| 
       18 
     | 
    
         
            -
            xtn_tools_pro/utils/log.py,sha256= 
     | 
| 
      
 18 
     | 
    
         
            +
            xtn_tools_pro/utils/log.py,sha256=m0WtTWkkwtrki1ftP8vCDR8bMfK2gcfUGx5J2x2IlLQ,10138
         
     | 
| 
       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. 
     | 
| 
       23 
     | 
    
         
            -
            xtn_tools_pro-1.0.0. 
     | 
| 
       24 
     | 
    
         
            -
            xtn_tools_pro-1.0.0. 
     | 
| 
       25 
     | 
    
         
            -
            xtn_tools_pro-1.0.0. 
     | 
| 
       26 
     | 
    
         
            -
            xtn_tools_pro-1.0.0. 
     | 
| 
      
 22 
     | 
    
         
            +
            xtn_tools_pro-1.0.0.5.1.dist-info/LICENSE,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
         
     | 
| 
      
 23 
     | 
    
         
            +
            xtn_tools_pro-1.0.0.5.1.dist-info/METADATA,sha256=FjTctYZ-J7_hB-HFIoeknlOdiA-W0QCg_sKZqCRLod8,455
         
     | 
| 
      
 24 
     | 
    
         
            +
            xtn_tools_pro-1.0.0.5.1.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
         
     | 
| 
      
 25 
     | 
    
         
            +
            xtn_tools_pro-1.0.0.5.1.dist-info/top_level.txt,sha256=jyB3FLDEr8zE1U7wHczTgIbvUpALhR-ULF7RVEO7O2U,14
         
     | 
| 
      
 26 
     | 
    
         
            +
            xtn_tools_pro-1.0.0.5.1.dist-info/RECORD,,
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     |