2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Azure WebAppsにCeleryとRedisを設定する

Last updated at Posted at 2022-09-03

ローカルで作成していたアプリ(Django)にCeleryとRedisで非同期処理をおこなっていた為、
WebAppsにどうデプロイすればいいか分からなかったのでその際の備忘録として。
個人学習用でとりあえず動いたからいいものの、あまり良い方法では無いかも。

Azure Cache for Redisのセットアップ

検索窓にredisと入れると Azure Cache for Redisと出るので選択
スクリーンショット 2022-09-04 2.49.41.png
① 【作成】を選択して設定を進める。 > デプロイが始まるので少し待つ。
② 非SSLポートを有効化しておく。
スクリーンショット 2022-09-04 2.54.07.png
③ アクセスキーを表示してプライマリキーをコピーしておく。
④ ホスト名もコピーしておく。

ローカルのDjangoアプリからAzureRedisへの接続をテスト

settings.pyを変更

# この箇所を変更
CELERY_BROKER_URL = 'redis://:<プライマリキー>@<ホスト名>:6379/0'

起動してみて、うまくいった事を確認したら、隠す処理して次。

Azure web appの設定

① 設定 > 構成 > アプリケーションの設定で「新しいアプリケーション設定」
② 「CELERY_BROKER_URL」 を 先程の redis://:<プライマリキー>@<ホスト名>:6379/0 にして保存
③ 構成 > 全般設定 > スタートアップコマンドにstartup.sh としておく。※Azureにスタートアップファイルを実行するよう指示

プロジェクトフォルダにstartup.shファイルを作る

プロジェクトのルートフォルダにstartup.shという名前のスタートアップファイルを作成。
以下内容。公式はこちらに。

gunicorn --bind=0.0.0.0 --timeout 600 <module>.wsgi & celery -A <module> worker -l INFO

Azure Web Appsにコミット!

あとは好きな方法でコミット!
動いた!やった!

とはいえ、内容よくわかってないな…精進します!!

参考

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?