python生成部署脚本

2023-05-19 17:42:54 浏览数 (2)

代码语言:javascript复制
#!/usr/bin/env python
# coding=utf-8
import os
import sys

appYml = '''#!/bin/bash

ymlName1="docker-compose.yml"
build_compose_yml(){
cat>"${ymlName1}"<<EOF
version: "3"
services:
  gateway:
    image: xxx/ait0/gm_subscribe:${TAG}
    container_name: "gm_subscribe"
    restart: always
    volumes:
      - ./logs:/app/logs
    networks:
      - network
    environment:
      MQ_URL: ${MQ_URL}
      GM_ADDRESS: ${GM_ADDRESS}
      GM_TOKEN: ${GM_TOKEN}
      GM_SYMBOLS: ${GM_SYMBOLS}
      USE_FAKE: ${USE_FAKE}
    entrypoint: python3 ./gm_subscribe.py

networks:
  network:
    driver: bridge

EOF
}

'''
aitoolsappYml = '''#!/bin/bash

ymlName1="docker-compose.yml"
build_compose_yml(){
cat>"${ymlName1}"<<EOF
version: "3"
services:
  gateway:
    image: xxx/ait0/python_aitools:%s
    container_name: "python_aitools"
    restart: always
    volumes:
      - ./config.json:/app/config/config.json
    networks:
      - network

networks:
  network:
    driver: bridge

EOF
}

'''
aitoolsEnvScript = '''
envName1="config.json"
build_env(){
cat>"${envName1}"<<EOF
{
  "mysql_param": {
    "quote_db":{
      "host": "172.16.30.194",
      "port": 13307,
      "user": "dev",
      "passwd": "dev_pwd",
      "db": "quote"
    },
    "sync_db":{
      "host": "172.16.30.221",
      "port": 13306,
      "user": "root",
      "passwd": "xxx",
      "db": "quote_test"
    },
    "nano_db":{
      "host": "xxx",
      "port": 3306,
      "user": "readonly",
      "passwd": "xxxx",
      "db": "marketdata"
    },
    "ait0_db":{
      "host": "172.16.30.194",
      "port": 13307,
      "user": "dev",
      "passwd": "dev_pwd",
      "db": "ai_server"
    }
  },

  "process_threads": 4,
  "timer_param": {
    "gm_stock_time": "15:30",
    "gm_future_time": "16:30",
    "nano_time": "09:30",
    "code_time": "08:30",
    "price_time": 5
  },
  "redis_param": {
    "host": "172.16.30.194",
    "port": 16379,
    "password": "xxx"
  },
  "check_code_count" : [
    {
        "exchange": "SZSE",
        "min_count": 2000
    },
    {
        "exchange": "SHSE",
        "min_count": 2000
    }
  ],
  "check_price": [
    {
      "exchange": "SZSE",
      "symbol": "000001"
    },
    {
      "exchange": "SHSE",
      "symbol": "600000"
    }
  ],
  "other_param" : {
    "ding_token": "xxx",
    "quote_url": "http://172.16.30.194:8888/",
    "quant_token":"xxxx",
    "quant_addr": "127.0.0.1:7001"
   }
}

EOF
}
'''
EnvScript = '''
envName1=".env"
build_env(){
cat>"${envName1}"<<EOF
TAG=%s
MQ_URL=%s
GM_ADDRESS=%s
GM_TOKEN=%s
GM_SYMBOLS=%s
USE_FAKE=%s
EOF
}

'''

aitoolsrunScript = '''
build_deploy(){
    docker-compose up -d
}

init(){
    docker-compose down -v
    docker rmi xxx/ait0/python_aitools:%s
}

main(){
    init

    build_compose_yml

    build_env
    build_deploy
}

main
'''



runScript = '''
build_deploy(){
    docker-compose up -d
}

init(){
    docker-compose down -v
    docker rmi xxx/ait0/gm_subscribe:%s
}

main(){
    init

    build_compose_yml

    build_env
    build_deploy
}

main
'''


def ait0_python_deploy():
    env_dist = os.environ
    MQ_URL = env_dist.get("MQ_URL", "amqp://guest:guest@172.16.50.24:15672/quote?heartbeat=0")
    GM_ADDRESS = env_dist.get("GM_ADDRESS", "172.16.50.23:7001")
    GM_TOKEN = env_dist.get("GM_TOKEN", "xxx")
    GM_SYMBOLS = env_dist.get("GM_SYMBOLS", "SZSE.300890,SZSE.300409,SHSE.688700,SHSE.603738,SHSE.688689,SHSE.688668,SZSE.300428,SZSE.002011,SZSE.300416,SZSE.300065,SZSE.300447,SZSE.002897,SZSE.002837,SZSE.300648,SZSE.002518,SHSE.603912,SZSE.002567,SHSE.688556,SHSE.603396,SHSE.603477,SHSE.603596,SZSE.002906,SZSE.002466,SHSE.600563,SZSE.002484,SZSE.002812,SZSE.300274,SZSE.300316,SHSE.688598,SHSE.603806,SHSE.605117,SHSE.603606,SZSE.300850,SZSE.002531,SZSE.300327,SZSE.300633,SZSE.002335,SHSE.601636,SZSE.000959,SZSE.000932,SHSE.600782,SHSE.600985,SHSE.600188,SHSE.601088,SHSE.601600,SZSE.000807,SHSE.601899,SHSE.600362,SZSE.002714,SZSE.000977,SHSE.600845,SZSE.002271,SHSE.603208,SZSE.002572,SZSE.000400,SZSE.002028,SZSE.000733,SHSE.600765,SZSE.002179,SZSE.300394,SZSE.300504,SHSE.600702,SHSE.603198,SHSE.603589,SHSE.600559,SHSE.600197,SHSE.601800,SHSE.601669,SHSE.600426,SHSE.600309,SHSE.600230,SZSE.002241,SZSE.000672,SHSE.600585")
    USE_FAKE = env_dist.get("USE_FAKE", "0")
    version = env_dist["version_number"]

    # 替换字符串.
    yml = appYml
    env1 = EnvScript % (version, MQ_URL, GM_ADDRESS, GM_TOKEN, GM_SYMBOLS, USE_FAKE)
    run1 = runScript % (version)
    script = yml   env1   run1

    # 生成脚本文件.
    fp = open("ait0_python.sh", "w")
    fp.write(script)
    fp.close()

def aitools_python_deploy():
    env_dist = os.environ
    # MQ_URL = env_dist.get("MQ_URL", "amqp://guest:guest@172.16.50.24:15672/quote?heartbeat=0")
    # GM_ADDRESS = env_dist.get("GM_ADDRESS", "172.16.50.23:7001")
    # GM_TOKEN = env_dist.get("GM_TOKEN", "xxx")
    # GM_SYMBOLS = env_dist.get("GM_SYMBOLS", "SZSE.300890,SZSE.300409,SHSE.688700,SHSE.603738,SHSE.688689,SHSE.688668,SZSE.300428,SZSE.002011,SZSE.300416,SZSE.300065,SZSE.300447,SZSE.002897,SZSE.002837,SZSE.300648,SZSE.002518,SHSE.603912,SZSE.002567,SHSE.688556,SHSE.603396,SHSE.603477,SHSE.603596,SZSE.002906,SZSE.002466,SHSE.600563,SZSE.002484,SZSE.002812,SZSE.300274,SZSE.300316,SHSE.688598,SHSE.603806,SHSE.605117,SHSE.603606,SZSE.300850,SZSE.002531,SZSE.300327,SZSE.300633,SZSE.002335,SHSE.601636,SZSE.000959,SZSE.000932,SHSE.600782,SHSE.600985,SHSE.600188,SHSE.601088,SHSE.601600,SZSE.000807,SHSE.601899,SHSE.600362,SZSE.002714,SZSE.000977,SHSE.600845,SZSE.002271,SHSE.603208,SZSE.002572,SZSE.000400,SZSE.002028,SZSE.000733,SHSE.600765,SZSE.002179,SZSE.300394,SZSE.300504,SHSE.600702,SHSE.603198,SHSE.603589,SHSE.600559,SHSE.600197,SHSE.601800,SHSE.601669,SHSE.600426,SHSE.600309,SHSE.600230,SZSE.002241,SZSE.000672,SHSE.600585")
    # USE_FAKE = env_dist.get("USE_FAKE", "0")
    version = env_dist["version_number"]

    # 替换字符串.
    yml = aitoolsappYml % (version)
    env1 = aitoolsEnvScript
    run1 = aitoolsrunScript % (version)
    script = yml   env1   run1

    # 生成脚本文件.
    fp = open("aitools_python.sh", "w")
    fp.write(script)
    fp.close()


if __name__ == "__main__":
    param = sys.argv[1]
    names = param.split(".")
    n = names[len(names)-1]
    if n == "ait0_python":
        ait0_python_deploy()
    elif n == "aitools":
        aitools_python_deploy()
    else:
        print param

代码语言:javascript复制
#!/usr/bin/env python
# coding=utf-8

import os

yml = '''#!/bin/bash

ymlName="docker-compose.yml"
build_compose_yml(){
cat>"${ymlName}"<<EOF
version: "3"
services:
  gateway:
    image: xxx/quote/gateway:${TAG}
    container_name: "gateway"
    restart: always
    ports:
      - 8888:8888
      - 39101:9101
    volumes:
      - ./logs:/app/logs
    networks:
      - network
    depends_on:
      - query
    environment:
      QUERY_ADDRESS: ${QUERY_ADDRESS}
      TRACING_URL: ${TRACING_URL}
      TRACING_SAMPLER: ${TRACING_SAMPLER}
      QUERY_TABLES_ADDRESS: ${QUERY_TABLES_ADDRESS}
  query:
    image: xxx/quote/query:${TAG}
    container_name: "query"
    restart: always
    ports:
      - 39102:9102
      - 8081:8081
    volumes:
      - ./logs:/app/logs
    networks:
      - network
    environment:
      MARKET_TYPE: ${MARKET_TYPE}
      MYSQL_SOURCE: ${MYSQL_SOURCE}
      REDIS_ADDRESS: ${REDIS_ADDRESS}
      REDIS_PASS: ${REDIS_PASS}
      TRACING_URL: ${TRACING_URL}
      TRACING_SAMPLER: ${TRACING_SAMPLER}

  storage:
    image: xxx/quote/storage:${TAG}
    container_name: "storage"
    restart: always
    volumes:
      - ./logs:/app/logs
    networks:
      - network
    environment:
      MYSQL_SOURCE: ${MYSQL_SOURCE}
      STORAGE_MODE: ${STORAGE_MODE}
      REDIS_ADDRESS: ${REDIS_ADDRESS}
      REDIS_PASS: ${REDIS_PASS}
      RABBIT_ADDRESS: ${RABBIT_ADDRESS}
      PROC_THREADS: ${PROC_THREADS}
      TICKS_WRITE_FLAG: ${TICKS_WRITE_FLAG}
      TICK_SAVE_SYMBOLS: ${TICK_SAVE_SYMBOLS}
      STORAGE_SERVICE_NAME: ${STORAGE_SERVICE_NAME}
      STORAGE_SERVICE_PORT: ${STORAGE_SERVICE_PORT}
      STORAGE_LOG_PATH: ${STORAGE_LOG_PATH}
  probe:
    image: xxx/probe/probe:v0.7.0
    container_name: "probe"
    restart: always
    networks:
      - network
    ports:
      - 15888:5888
    command:
      - -http=gateway:8888,storage:10001
      - -grpc=query.rpc:query:8081
  gm:
    image: xxx/quote/gm:${TAG}
    container_name: "gm"
    restart: always
    volumes:
      - ./logs:/app/logs
    ports:
      - 9159:9159
    networks:
      - network
    environment:
      RABBIT_ADDRESS: ${RABBIT_ADDRESS}
      GM_OPEN_TIME: ${GM_OPEN_TIME}
      GM_SYNC_FLAG: ${GM_SYNC_FLAG}
      GM_EXCHANGE_PREFIX_FLAG: ${GM_EXCHANGE_PREFIX_FLAG}
      GM_QUOTE_COMMODITY: ${GM_QUOTE_COMMODITY}
      GM_EXCHANGE_NO: ${GM_EXCHANGE_NO}
      GM_TOKEN: ${GM_TOKEN}
      GM_STRATEGY_ID: ${GM_STRATEGY_ID}
      GM_SERV_ADDR: ${GM_SERV_ADDR}
      TRACING_URL: ${TRACING_URL}
      TRACING_SAMPLER: ${TRACING_SAMPLER}
      TRANFER_ADDRESS: ${TRANFER_ADDRESS}
      GM_SERVICE_NAME: ${GM_SERVICE_NAME_STOCK}
      SOURCE_GM_PORT: ${SOURCE_GM_PORT_STOCK}
      GM_SERVICE_LOG_PATH: ${GM_SERVICE_LOG_PATH_STOCK}
      SOURCE_GM_PROM_PORT: ${SOURCE_GM_PROM_PORT_STOCK}
      GM_SEC_TYPES: ${GM_SEC_TYPES_STOCK}
  querytables:
    image: xxx/quote/querytables:${TAG}
    container_name: "querytables"
    restart: always
    volumes:
      - ./logs:/app/logs
    ports:
      - 9104:9104
    networks:
      - network
    environment:
      MYSQL_SOURCE_TABLES: ${MYSQL_SOURCE_TABLES}
      TRACING_URL: ${TRACING_URL}
      TRACING_SAMPLER: ${TRACING_SAMPLER}
  transfer:
    image: xxx/quote/transfer:${TAG}
    container_name: "transfer"
    restart: always
    volumes:
      - ./logs:/app/logs
    ports:
      - 8082:8082
      - 19103:9103
    networks:
      - network
    environment:
      RABBIT_ADDRESS: ${RABBIT_ADDRESS}
      TRACING_URL: ${TRACING_URL}
      TRACING_SAMPLER: ${TRACING_SAMPLER}
  push:
    image: xxx/quote/push:${TAG}
    container_name: "push"
    restart: always
    volumes:
      - ./logs:/app/logs
    networks:
      - network
    environment:
      RABBIT_ADDRESS: ${RABBIT_ADDRESS}
      TRACING_URL: ${TRACING_URL}
      TRACING_SAMPLER: ${TRACING_SAMPLER}
  websocketv1:
    image: xxx/quote/websocketv1:${TAG}
    container_name: "websocketv1"
    restart: always
    ports:
      - 8889:8889
    volumes:
      - ./logs:/app/logs
    networks:
      - network
    depends_on:
      - push
    environment:
      STORAGE_MODE: ${STORAGE_MODE}
      PUSH_ADDRESS: ${PUSH_ADDRESS}
      TRACING_URL: ${TRACING_URL}
      TRACING_SAMPLER: ${TRACING_SAMPLER}
  tap:
    image: xxx/quote/tap:${TAG}
    container_name: "tap"
    restart: always
    volumes:
      - ./logs:/app/logs
    networks:
      - network
    environment:
      ESUNNY_QUOTE_IP: ${ESUNNY_QUOTE_IP}
      ESUNNY_QUOTE_PORT: ${ESUNNY_QUOTE_PORT}
      ESUNNY_QUOTE_AUTHCODE: ${ESUNNY_QUOTE_AUTHCODE}
      ESUNNY_QUOTE_USERNAME: ${ESUNNY_QUOTE_USERNAME}
      ESUNNY_QUOTE_PASSWD: ${ESUNNY_QUOTE_PASSWD}
      ESUNNY_QUOTE_COMMODITY: ${ESUNNY_QUOTE_COMMODITY}
      ESUNNY_TRADE_IP: ${ESUNNY_TRADE_IP}
      ESUNNY_TRADE_PORT: ${ESUNNY_TRADE_PORT}
      ESUNNY_TRADE_AUTHCODE: ${ESUNNY_TRADE_AUTHCODE}
      ESUNNY_TRADE_USERNAME: ${ESUNNY_TRADE_USERNAME}
      ESUNNY_TRADE_PASSWD: ${ESUNNY_TRADE_PASSWD}
      ESUNNY_COMMODITYNO: ${ESUNNY_COMMODITYNO}
      ESUNNY_OPEN_TIME: ${ESUNNY_OPEN_TIME}
      ESUNNY_SYNC_FLAG: ${ESUNNY_SYNC_FLAG}
      ESUNNY_EXCHANGE_PREFIX_FLAG: ${ESUNNY_EXCHANGE_PREFIX_FLAG}
      ESUNNY_LOG_PATH: ${ESUNNY_LOG_PATH}
      ESUNNY_QUOTE_FLAG: ${ESUNNY_QUOTE_FLAG}
      ESUNNY_EXCHANGE_NO: ${ESUNNY_EXCHANGE_NO}
      RABBIT_ADDRESS: ${RABBIT_ADDRESS}
      TRACING_URL: ${TRACING_URL}
      TRACING_SAMPLER: ${TRACING_SAMPLER}
      TRANFER_ADDRESS: ${TRANFER_ADDRESS}

  ths:
    image: xxx/quote/ths:${TAG}
    container_name: "ths"
    restart: always
    volumes:
      - ./logs:/app/logs
    ports:
      - 9162:9162
    networks:
      - network
    environment:
      THS_SERVICE_NAME: ${THS_SERVICE_NAME}
      SOURCE_THS_PORT: ${SOURCE_THS_PORT}
      SOURCE_THS_PROM_PORT: ${SOURCE_THS_PROM_PORT}
      RABBIT_ADDRESS: ${RABBIT_ADDRESS}
      TRANFER_ADDRESS: ${TRANFER_ADDRESS}
      TRACING_URL: ${TRACING_URL}
      TRACING_SAMPLER: ${TRACING_SAMPLER}
      THS_ACCESS_TOKEN: ${THS_ACCESS_TOKEN}

  futu:
    image: xxx/quote/futu:${TAG}
    container_name: "futu"
    restart: always
    volumes:
      - ./logs:/app/logs
    networks:
      - network
    environment:
      FUTU_SERVICE_NAME: ${FUTU_SERVICE_NAME}
      SOURCE_FUTU_PORT: ${SOURCE_FUTU_PORT}
      RABBIT_ADDRESS: ${RABBIT_ADDRESS}
      FUTU_OPEN_TIME: ${FUTU_OPEN_TIME}
      FUTU_SYNC_FLAG: ${FUTU_SYNC_FLAG}
      FUTU_EXCHANGE_PREFIX_FLAG: ${FUTU_EXCHANGE_PREFIX_FLAG}
      FUTU_QUOTE_SYMBOLS: ${FUTU_QUOTE_SYMBOLS}
      FUTU_ADDRESS: ${FUTU_ADDRESS}
      FUTU_PORT: ${FUTU_PORT}
      FUTU_SERVICE_NAME: ${FUTU_SERVICE_NAME}
      FUTU_SERVICE_LOG_PATH: ${FUTU_SERVICE_LOG_PATH}
      SOURCE_FUTU_PROM_PORT: ${SOURCE_FUTU_PROM_PORT}
      TRACING_URL: ${TRACING_URL}
      TRACING_SAMPLER: ${TRACING_SAMPLER}
      TRANFER_ADDRESS: ${TRANFER_ADDRESS}




networks:
  network:
    driver: bridge
EOF
}

'''

envScript = '''
envName=".env"
build_env(){
cat>"${envName}"<<EOF
TAG=%s
MYSQL_SOURCE="%s:%s@tcp(%s)/quote?charset=utf8mb4&parseTime=true&loc=Local"
REDIS_ADDRESS="%s"
REDIS_PASS="%s"
RABBIT_ADDRESS="amqp://guest:guest@%s/quote"
QUERY_ADDRESS="query:8081"
TRACING_URL="%s"
TRACING_SAMPLER=0.01
MARKET_TYPE=%s
STORAGE_MODE=%s
PROC_THREADS=8
GTA_MYSQL_SOURCE="xx:xx@tcp(xx:3306)/RCWALGOPRD1?charset=utf8mb4&parseTime=true&loc=Local"
GTA_REDIS_ADDRESS="xx:7788"
GTA_REDIS_PASS="xx"
TICKS_WRITE_FLAG=0
GM_OPEN_TIME="06:10"
GM_SYNC_FLAG=1
GM_EXCHANGE_PREFIX_FLAG=1
GM_QUOTE_COMMODITY=""
GM_EXCHANGE_NO=""
GM_TOKEN="%s"
GM_STRATEGY_ID="xx"
GM_SERV_ADDR="%s"
MYSQL_SOURCE_TABLES="xx:123456@tcp(xx:3306)/xx?charset=utf8mb4&parseTime=true&loc=Local"
QUERY_TABLES_ADDRESS="querytables:8083"
TRANFER_ADDRESS="transfer:8082"
PUSH_ADDRESS="push:8080"
GM_SERVICE_NAME_STOCK=%s
SOURCE_GM_PORT_STOCK=10010
GM_SERVICE_LOG_PATH_STOCK=%s
SOURCE_GM_PROM_PORT_STOCK=9159
GM_SEC_TYPES_STOCK=%s
ESUNNY_QUOTE_IP=%s
ESUNNY_QUOTE_PORT=%s
ESUNNY_QUOTE_AUTHCODE=%s
ESUNNY_QUOTE_USERNAME=%s
ESUNNY_QUOTE_PASSWD=%s
ESUNNY_TRADE_IP=%s
ESUNNY_TRADE_PORT=%s
ESUNNY_TRADE_AUTHCODE=%s
ESUNNY_TRADE_USERNAME=%s
ESUNNY_TRADE_PASSWD=%s
ESUNNY_COMMODITYNO=%s
ESUNNY_OPEN_TIME=%s
ESUNNY_SYNC_FLAG=%s
ESUNNY_QUOTE_COMMODITY=%s
ESUNNY_EXCHANGE_PREFIX_FLAG=%s
ESUNNY_LOG_PATH=%s
ESUNNY_QUOTE_FLAG=%s
ESUNNY_EXCHANGE_NO=%s
TICK_SAVE_SYMBOLS="SZSE_000001,SHSE_600000"
THS_SERVICE_NAME="ths"


FUTU_SERVICE_NAME="futu_source"
SOURCE_FUTU_PORT="10014"
FUTU_OPEN_TIME="09:00"
FUTU_SYNC_FLAG=1
FUTU_EXCHANGE_PREFIX_FLAG=1
FUTU_QUOTE_SYMBOLS="00001,00002,00003,00004,00005,00006,00011,00012,00016,00017,00019,00023,00027,00066,00083,00101,00135"
FUTU_ADDRESS="172.16.60.223"
FUTU_PORT="11111"
FUTU_SERVICE_LOG_PATH="logs/futu"
SOURCE_FUTU_PROM_PORT="9159"



SOURCE_THS_PORT=10013
SOURCE_THS_PROM_PORT=9162
THS_ACCESS_TOKEN="xxx=.eyJ1aWQiOiI2MzMxNDMwNjQifQ==.CA9BA90A3C7259037D07FC3ACDADBD67F3BB61B2DE62DDC6630370F200FEB833"
STORAGE_SERVICE_NAME="quote_storage"
STORAGE_SERVICE_PORT=10001
STORAGE_LOG_PATH="logs/storage"
EOF
}

build_deploy(){
    docker-compose up -d
}

init(){
    docker-compose down -v
    docker images | grep xxx/quote | grep %s | awk '{print $1 ":" $2}' | xargs docker rmi
}

main(){
    init

    build_compose_yml

    build_env

    build_deploy
}

main
'''

def build_trade_deploy():
    env_dist = os.environ
    es_quote_addr = env_dist.get("ESUNNY_QUOTE_ADDR", "xxx")
    q_addr = es_quote_addr.split(":")
    q_ip = q_addr[0]
    q_port = q_addr[1]
    es_trade_addr = env_dist.get("ESUNNY_TRADE_ADDR", "xxx")
    t_addr = es_trade_addr.split(":")
    t_ip = t_addr[0]
    t_port = t_addr[1]
    # 替换字符串.
    env1 = envScript % (env_dist["version_number"], env_dist.get("DATABASE_USER", "dev"), env_dist.get("DATABASE_PWD", "dev_pwd"), env_dist.get("DATABASE_HOST", "172.16.30.194:13306"), 
                       env_dist.get("REDIS_HOST", "172.16.30.193:16379"), env_dist.get("REDIS_PWD", "Gg@xx!!!"), 
                       env_dist.get("RABBITMQ_HOST", "172.16.30.193:15672"), 
                       env_dist.get("TRACING_URL", "http://172.16.30.196:14368/api/traces"), 
                       env_dist.get("MARKET_TYPE", "stock"),
                       env_dist.get("STORAGE_MODE", "test"), env_dist.get("GM_TOKEN", "xx"), env_dist.get("GM_SERV_ADDR", "172.16.60.223:7001"),
                       env_dist.get("GM_SERVICE_NAME_STOCK", "gm_stock"),
                       env_dist.get("GM_SERVICE_LOG_PATH_STOCK", "logs/gm_stock"),
                       env_dist.get("GM_SEC_TYPES_STOCK", "stock"),
                       q_ip, q_port, 
                       env_dist.get("ESUNNY_QUOTE_AUTHCODE", "xx"), 
                       env_dist.get("ESUNNY_QUOTE_USERNAME", "ES"), 
                       env_dist.get("ESUNNY_QUOTE_PASSWD", "xx"), 
                       t_ip, t_port, 
                       env_dist.get("ESUNNY_TRADE_AUTHCODE", "xx"), 
                       env_dist.get("ESUNNY_TRADE_USERNAME", "Q576288330"), 
                       env_dist.get("ESUNNY_TRADE_PASSWD", "xx"), 
                       env_dist.get("ESUNNY_COMMODITYNO", "xx"), 
                       env_dist.get("ESUNNY_OPEN_TIME", "04:55"), 
                       env_dist.get("ESUNNY_SYNC_FLAG", "1"),
                       env_dist.get("ESUNNY_QUOTE_COMMODITY", "HIS,NQ,BO,BP,CL,SV"),
                       env_dist.get("ESUNNY_EXCHANGE_PREFIX_FLAG", "1"),
                       env_dist.get("ESUNNY_LOG_PATH", "logs/tap"),
                       env_dist.get("ESUNNY_QUOTE_FLAG", "0"),
                       env_dist.get("ESUNNY_EXCHANGE_NO", "x"),
                       env_dist["version_number"])

    script = yml   env1

    # 生成脚本文件.
    fp = open("quote_deploy.sh", "w")
    fp.write(script)
    fp.close()


if __name__ == "__main__":
    build_trade_deploy()

0 人点赞