我是Flask的新手,想要確保redis服務器正在運行,如果不是,請啓動它。下面是我有:如何在開始燒瓶之前檢查redis是否正在運行(如果不是則啓動它)?
@app.before_first_request
def initialize():
cmd = 'src/redis-cli ping'
p = subprocess.Popen(cmd,stdout=subprocess.PIPE)
out, err = p.communicate()
#if out.startswith('Could not connect to Redis'): #start redis here
if err is not None: raise Exception(err)
不過,我得到一個錯誤「OSERROR:[錯誤2]沒有這樣的文件或目錄」
是否有檢查Redis的服務器運行的是更簡單的方法?
,我不會採取這種方法。我會確保我的Flask應用程序和redis部署在一個容器/ rpm /無論。這不是你的Flask應用程序的工作來啓動redis。 – hughdbrown
你能更具體嗎?我是燒瓶的新手 – user3287829
這不是關於燒瓶的評論。這是對軟件環境中職責分離的評論。正如Hynek所說,「配置不是應用程序的一部分」。使用傀儡或廚師或者ansible或saltstack來部署您的應用程序及其所有依賴項。確保您的應用程序和依賴項使用supervisord或類似的方式運行。 – hughdbrown