前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python生成部署脚本

python生成部署脚本

作者头像
章工运维
发布2023-05-19 17:42:54
4060
发布2023-05-19 17:42:54
举报
文章被收录于专栏:章工运维章工运维
代码语言: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()
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-01-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档