import subprocess import os # 定义要启动的应用及其路径和端口 services = [ ("data_processing/data_operation/data_join.py", 10094), ("data_processing/data_operation/mysql_to_mongo.py", 10095), ("data_processing/processing_limit_power/processing_limit_power_by_agcavc.py", 10086), ("data_processing/processing_limit_power/processing_limit_power_by_machines.py", 10087), ("data_processing/processing_limit_power/processing_limit_power_by_records.py", 10088), ("data_processing/processing_limit_power/processing_limit_power_by_statistics_light.py", 10085), ("data_processing/processing_limit_power/processing_limit_power_by_statistics_wind.py", 10093), ("data_processing/data_operation/pre_prod_ftp.py", '_'), ("evaluation_processing/analysis_report.py", 10092), ("evaluation_processing/evaluation_accuracy.py", 10091), ("evaluation_processing/analysis_cdq.py", 10108), ("models_processing/model_train/model_training_lightgbm.py", 10089), ("models_processing/model_predict/model_prediction_lightgbm.py", 10090), ("models_processing/model_train/model_training_lstm.py", 10096), ("models_processing/model_predict/model_prediction_lstm.py", 10097), ("models_processing/model_tf/tf_bp_pre.py", 10110), ("models_processing/model_tf/tf_bp_train.py", 10111), ("models_processing/model_tf/tf_cnn_pre.py", 10112), ("models_processing/model_tf/tf_cnn_train.py", 10113), ("models_processing/model_tf/tf_lstm_pre.py", 10114), ("models_processing/model_tf/tf_lstm_train.py", 10115), ("models_processing/model_tf/tf_test_pre.py", 10116), ("models_processing/model_tf/tf_test_train.py", 10117), ("post_processing/post_processing.py", 10098), ("evaluation_processing/analysis.py", 10099), ("models_processing/model_predict/res_prediction.py", 10105), ("data_processing/data_operation/pre_data_ftp.py", 10101), ("data_processing/data_operation/data_nwp_ftp.py", 10102), ("models_processing/model_train/model_training_bp.py", 10103), ("models_processing/model_predict/model_prediction_bp.py", 10104), ("data_processing/data_operation/data_tj_nwp_ftp.py", 10106), ("post_processing/pre_post_processing.py", 10107), ] # 获取当前脚本所在的根目录 base_dir = os.path.abspath(os.path.dirname(__file__)) # 启动所有服务 processes = [] for service, port in services: service_path = os.path.join(base_dir, service) print(f"Starting {service} on port {port}") env = os.environ.copy() env["PYTHONPATH"] = base_dir # 设置 PYTHONPATH 为项目根目录 p = subprocess.Popen(["python", service_path], env=env) processes.append(p) # 等待所有进程结束 for p in processes: p.wait()