私はAzure WebAppにDjangoプロジェクトを持っています。プロジェクトの設定は、例えば、環境変数を使用して構成されていますDjangoでのAzure WebJobの環境変数
そしてsettings.py:一方
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': os.getenv("POSTGRES_DB"),
'USER': os.getenv("POSTGRES_USER"),
'PASSWORD': os.getenv("POSTGRES_PASSWOR),
'HOST': os.getenv("POSTGRES_HOST"),
'PORT': '',
}
}
、プロジェクトはDjangoのコマンドを実行しますWebJobがあります。
app_data
|--jobs
|--triggered
|--my_webjob
|--run.py
|--settings.job
WebJob、run.pyのスクリプト:
import sys
sys.path.append(r"D:\\home\\site\\wwwroot\\env\\Lib\\site-packages")
sys.path.append(r"D:\\home\\site\\wwwroot")
import django
from django.core.management import call_command
django.setup()
call_command('my_webjob')
そして、私のコマンド「my_webjobは、」いくつかのstuffsをしようが、私は環境を印刷する場合はWebAppの、 の環境変数を取得しない、これが結果です:
my_webjob.py
class Command(BaseCommand):
def handle(self, *args, **options):
print "================="
print "DEBUG: ENVS"
print "================="
print "POSTGRES_USER:"
print os.getenv("POSTGRES_USER", "")
print "---------------"
print "POSTGRES_DB:"
print os.getenv("POSTGRES_DB", "")
WebJobが実行されている出力:
[04/29/2016 08:32:51 > 5d941a: INFO] =================
[04/29/2016 08:32:51 > 5d941a: INFO] DEBUG: ENVS
[04/29/2016 08:32:51 > 5d941a: INFO] =================
[04/29/2016 08:32:51 > 5d941a: INFO] POSTGRES_USER:
[04/29/2016 08:32:51 > 5d941a: INFO]
[04/29/2016 08:32:51 > 5d941a: INFO] ---------------
[04/29/2016 08:32:51 > 5d941a: INFO] POSTGRES:
[04/29/2016 08:32:51 > 5d941a: INFO]
WebAppのとWebジョブはこの問題を除いて正しく機能します。 簡単な解決策は、私の環境変数をファイルに書き込んでwebjobsで読むことですが、私のパスワード、URLはすべて環境変数に保存する必要があります
これらの環境変数をプロジェクトとWebJobs?
こんにちは@Avara、まだ更新はありますか? –
それは今の作品です。私は何も変更していないので、非常に奇妙です。たぶん、初めて私が展開したときに、webappが遅れて更新されました。私はこれを確認するために働いています。ありがとう@ GaryLiu - MSFT :) – Avara