はじめに
Python仮想環境上で動作するDjangoアプリをWindowsサーバ上のタスクスケジューラで常時動作させるTipsをご紹介いたします
- OS:Windows10 Pro または Windows Server 2016 / 2019
結論
バッチコマンドファイル内に以下のコマンドを &&
接続子でつないで記述します
SEQ | コマンド |
---|---|
1 | Python仮想環境のアクティベーションコマンド |
2 | Djangoアプリサーバの実行コマンド |
-
&&
接続子:プロセスの実行が完了してから次のプロセスを実行します- まずPython仮想環境のアクティベーションの終わるのを待ってから、Djangoアプリサーバの実行を行うようになります
例
- ¥¥windows-server001¥dev¥django¥webSite¥runsurver.bat
runsurver.bat
C:\dev\django\venv\Scripts\activate.bat && python C:\dev\django\webSite\manage.py runserver 0.0.0.0:7000
このバッチコマンドファイルの実行をWindowsタスクスケジューラに登録し実行します
これで、Python仮想環境上で動作するDjangoアプリをWindows上にて動作させ続けることができます
- 環境
Pyhon仮想環境パス | Djangoアプリケーションパス | アクセス許可ポート |
---|---|---|
C:¥dev¥django¥venv | C:¥dev¥django¥webSite | 7000 |
- バッチコマンド
WindowsコマンドプロンプトでのPython仮想環境アクティベーションコマンド | Djangoアプリを全IPクライントからの7000番ポートでHTTPリクエストを受け付けて実行 |
---|---|
C:¥dev¥django¥venv¥Scripts¥activate.bat | C:¥dev¥django¥webSite¥manage.py runserver 0.0.0.0:7000 |
- ご参考まで:Powershellの場合
-
C:¥dev¥django¥venv¥Scripts¥activate.bat
がC:¥dev¥django¥venv¥Scripts¥activate.ps1
になります
-
以上