zoukankan      html  css  js  c++  java
  • gunicorn+flask+centos启动flask脚本

    #启动指定端口数量的screen,并运行flask程序
    import commands
    import os
    
    
    ip="10.1.1.96"
    gunicorn_port_list=[5000,5001,5002]
    
    
    def get_screen_id_list():
        result,content=commands.getstatusoutput('screen -ls|grep gunicorn')
        content=content.replace('.gunicorn	(Detached)','')
        content=content.replace('	','')
        content=content.replace('
    ',',')
        ls=content.split(',')
        return ls
    
    
    def create_screen():
        for i in range(len(gunicorn_port_list)):
            #创建n个screen程序
            os.system("screen -dmS gunicorn")
    
    def send_commands():
        current_screen_list=get_screen_id_list()
        for port,screen_id in zip(gunicorn_port_list,current_screen_list):
            os.system("screen -x -S {0} -p 0 -X stuff $'cd /var/wsdd'".format(screen_id))
            os.system("sleep 1")
            os.system("screen -x -S {0} -p 0 -X stuff $'
    '".format(screen_id))
            os.system("sleep 1")
            os.system("screen -x -S {0} -p 0 -X stuff $'gunicorn -w 4 -b {1}:{2} manage:app –preload'".format(screen_id,ip,port))
            os.system("sleep 1")
            os.system("screen -x -S {0} -p 0 -X stuff $'
    '".format(screen_id))
    
    
    def kill_all_screen():
        screen_ls=get_screen_id_list()
        for item in screen_ls:
            os.system("sleep 1")
            os.system("screen -X -S {0} quit".format(item))
        os.system("sleep 1")
        os.system("screen -wipe")
        os.system("sleep 1")
        os.system("killall gunicorn")
    
    
    if __name__ == '__main__':
        kill_all_screen()
        create_screen()
        send_commands()
  • 相关阅读:
    ubuntu 更新软件
    如何在linux(lubuntu)下搭建C/C++开发环境
    Linux下如何查看版本信息
    知识点笔记
    Require.js中使用jQuery 插件
    async中常用总结
    node.js在遇到“循环+异步”时的注意事项
    前端性能优化
    生产/消费者问题
    线程与内存
  • 原文地址:https://www.cnblogs.com/anbylau2130/p/13614690.html
Copyright © 2011-2022 走看看