2017-11-03 13 views
4

uWSGI設定ロジックを理解してください。 私は環境変数ENVIRONMENTを持っています。その値がdevまたはprodのいずれかになるとします。私はENVIRONMENTif-optブロック内の割り当てやprint文のいずれも実行しないでしょうprodに設定されている場合、私は引き受けるENVIRONMENT環境変数に応じてuWSGI設定を設定してください

# always executes print statement, doesn't matter what ENVIRONMENT is set to 
if-env= ENVIRONMENT 
if-opt: %(_)=dev 
print = RUNNING %(_) 
endif: 
endif = 

# always executes print statement, doesn't matter what ENVIRONMENT is set to 
running = ENVIRONMENT 
if-opt: running=dev 
print = RUNNING %(_) 
endif: 

の値に基づいて設定オプションを設定します。しかし、これはそうではありません。

答えて

3

これは動作するはずです:あなたはINI設定でYAML構文を使用していた

[uwsgi] 
if-env = ENVIRONMENT 
env = %(_) 
endif = 
if-not-env = ENVIRONMENT 
env = none 
endif = 
print = RUNNING %(env) 
if-opt = env=dev 
print = running dev yay 
endif = 

。私はif-envからif-optを取り戻さなければならなかったので、それは再帰について不平を言いました。それを短くする方法があるかもしれませんが、これはうまくいきます。

+0

実際に動作します。御時間ありがとうございます! – zzart

関連する問題