- 将配置相关类移动到model模块 - 实现依赖注入容器管理各组件依赖关系 - 重构配置加载逻辑支持多层级键值查找 - 更新主应用入口支持命令行参数解析 - 统一日志输出格式替换原有打印语句 - 引入钻井实时数据模型简化数据处理 - 移除硬编码字段映射改用动态配置方式 - 优化数据库写入逻辑基于新的数据模型
56 lines
2.0 KiB
Python
56 lines
2.0 KiB
Python
import argparse
|
|
import logging
|
|
|
|
from app import mqtt_mock, mqtt_sender, mqtt_subscriber, wits_sender
|
|
|
|
|
|
def configure_logging(level_name):
|
|
level = getattr(logging, str(level_name).upper(), logging.INFO)
|
|
logging.basicConfig(
|
|
level=level,
|
|
format="%(asctime)s %(levelname)s %(name)s - %(message)s",
|
|
)
|
|
|
|
|
|
def build_parser():
|
|
parser = argparse.ArgumentParser(description="tdEngine mqtt/wits mock application")
|
|
parser.add_argument("--log-level", default="INFO", help="Logging level")
|
|
subparsers = parser.add_subparsers(dest="command", required=True)
|
|
|
|
mqtt_mock_parser = subparsers.add_parser("mqtt-mock", help="Run MQTT mock service")
|
|
mqtt_mock.add_arguments(mqtt_mock_parser)
|
|
|
|
mqtt_sender_parser = subparsers.add_parser("mqtt-sender", help="Run MQTT sender")
|
|
mqtt_sender.add_arguments(mqtt_sender_parser)
|
|
|
|
mqtt_subscriber_parser = subparsers.add_parser("mqtt-subscriber", help="Run MQTT subscriber")
|
|
mqtt_subscriber.add_arguments(mqtt_subscriber_parser)
|
|
|
|
wits_sender_parser = subparsers.add_parser("wits-sender", help="Run WITS sender")
|
|
wits_sender.add_arguments(wits_sender_parser)
|
|
return parser
|
|
|
|
|
|
def main(argv=None):
|
|
parser = build_parser()
|
|
args = parser.parse_args(argv)
|
|
configure_logging(args.log_level)
|
|
logging.getLogger(__name__).info("start app command=%s", args.command)
|
|
|
|
if args.command == "mqtt-mock":
|
|
deps = mqtt_mock.build_mock_dependencies(args.config, data_file_override=args.data_file)
|
|
mqtt_mock.run_mock_service(args, deps)
|
|
elif args.command == "mqtt-sender":
|
|
deps = mqtt_sender.build_sender_dependencies(args.config)
|
|
mqtt_sender.run_sender(args, deps)
|
|
elif args.command == "mqtt-subscriber":
|
|
deps = mqtt_subscriber.build_subscriber_dependencies(args.config)
|
|
mqtt_subscriber.run_subscriber(args, deps)
|
|
elif args.command == "wits-sender":
|
|
deps = wits_sender.build_wits_sender_dependencies(args.config)
|
|
wits_sender.run_wits_sender(args, deps)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|