import subprocess import os # 定义要启动的应用及其路径和端口 services = [ # ("data_processing/data_operation/data_join.py", 10094), # ("data_processing/data_operation/mysql_to_mongo.py", 10095), # ("data_processing/data_operation/pre_prod_ftp.py", 10118), # ("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), # ("models_processing/model_tf/tf_lstm2_pre.py", 10120), # ("models_processing/model_tf/tf_lstm2_train.py", 10119), # ("models_processing/model_tf/tf_lstm3_pre.py", 10122), # ("models_processing/model_tf/tf_lstm3_train.py", 10121), # ("models_processing/model_tf/tf_lstm_zone_pre.py", 10125), # ("models_processing/model_tf/tf_lstm_zone_train.py", 10124), # # ("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), # ("post_processing/cdq_coe_gen.py", 10123), # ("models_processing/model_predict/model_prediction_photovoltaic_physical.py", 10126), # ("data_processing/data_operation/hive_to_mongo.py", 10127), ("models_processing/model_train/model_training_ml.py", 10128), ("models_processing/model_predict/model_prediction_ml.py", 10129), ("post_processing/post_process.py", 10130) ] # 获取当前脚本所在的根目录 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()