2020年1月14日 星期二

簡潔啟動gunicorn_service.sh

本篇介紹將Gunicorn的gunicorn_service.py,再包一個shell script,讓服務啟動的指令簡潔一些。 原本python程式包好Gunicorn後,啟動方式如下: source activate normTime python gunicorn_service.py --port 1234 start source deactivate 如果要關閉服務,或是reload,也要照上面的指令,但start改成stop或reload。 我另外寫一個shell script,將上述指令包起來,並把變數抽出來,執行檔存為gunicorn_service.sh : #!/bin/bash PORT=1234 APPNAME=timeRestful ENVNAME=normTime source activate ${ENVNAME} python gunicorn_service.py --port ${PORT} --app ${APPNAME}:app $1 source deactivate 上述程式碼將port號碼、APP檔名、python虛擬環境名稱,抽出來,使更換服務時,方便修改。 gunicorn_service.py要加下列兩段程式碼,使"--app"參數可以用: -------------------------------------- parser.add_argument( '-a', '--app', metavar='APP', type=str, default='', help='Flask APP name with "....:app".' ) -------------------------------------- . . if args.app != '': self.config.app = args.app -------------------------------------- 啟動時,可以直接下./gunicorn_service.sh start ,停止服務./gunicorn_service.sh stop,重載服務./gunicorn_service.sh reload。 其實後面的start, stop, reload都是直接傳遞給gunicorn_service.py,故任何gunicorn_service.py可以接授的關鍵字,都可以用。

沒有留言:

張貼留言

IKEA吊櫃廚櫃

 好不容易裝好IKEA買來的吊櫃,花了三天。 從組裝,鑽牆,上牆調水平,累死我了。