Django タスクを実行する
Django 6.0 では、リクエスト/レスポンスサイクルの外でコードを実行するための組み込み タスクフレームワークが導入されました。 PyCharm では、エディターからタスクをキューに入れ、設定を Django タスク 実行/デバッグ構成に保存できます。
エディターからタスクをキューに入れる
@taskでデコレートされた関数の横にあるガターアイコンをクリックし、 'Enqueue <function name>' を実行する を選択します。または、関数名にキャレットを置いて右クリックし、 'Enqueue <function name>' を実行する を選択します。
タスクに必須パラメーターがあり、引数がまだ指定されていない場合は、 タスク引数の指定 ダイアログに引数を入力し、 OK をクリックします。 Python 呼び出し構文を使用します。例:
["admin@example.com"], subject="Report"。
PyCharm はタスク用の Django タスク 実行/デバッグ構成を作成するか既存の構成を再利用し、実行します。
タスクがキューに入る仕組み
Django タスク 構成を実行すると、PyCharm は manage.py の シェル コマンドを実行します。このコマンドはタスクをインポートし、指定された引数でその enqueue() メソッドを呼び出します。 PyCharm はワーカーを開始しません。 次に何が起こるかは、Django 設定で構成された タスクバックエンドによって異なります:
デフォルトの
ImmediateBackendでは、タスクは同じプロセスですぐに実行され、その出力は 実行 ツールウィンドウに表示されます。他のバックエンドでは、キューに入ったタスクを処理するためにワーカーを別途開始します。
Django タスクの構成オプション
作成:
共通オプション
項目 | 説明 |
|---|---|
名前 | 実行構成の名前を指定して、編集または実行時に他の構成の間ですばやく識別できるようにします。 |
複数のインスタンスを許可する | この実行構成の複数のインスタンスを並行して実行できるようにします。 デフォルトでは無効になっており、別のインスタンスがまだ実行されているときにこの構成を開始すると、PyCharm は実行中のインスタンスを停止して別のインスタンスを開始することを提案します。 これは、実行構成が多くのリソースを消費し、複数のインスタンスを実行する正当な理由がない場合に役立ちます。 |
プロジェクトファイルとして保存 | 実行構成設定を含むファイルを保存して、他のチームメンバーと共有します。 デフォルトの場所は .idea/runConfigurations です。 ただし、 .idea ディレクトリを共有したくない場合は、プロジェクト内の他のディレクトリに構成を保存できます。 デフォルトでは無効になっており、PyCharm は実行構成設定を .idea/workspace.xml に保存します。 |
Django タスク固有の構成オプション
項目 | 説明 |
|---|---|
Python インタープリター | リストから事前設定された Python インタープリターの 1 つを選択してください。 |
タスクのパス | タスクを含むモジュールのインポートパスを指定します。例: |
タスク名 | タスク関数の名前を指定します。 |
引数 | Python 呼び出し構文でタスクに渡す引数を指定します。例: |
作業ディレクトリ | 実行中のタスクが使用するディレクトリを指定します。
このフィールドでは パス変数を使用できます。 |
環境変数 | このフィールドには、環境変数のリストが表示されます。 リストに複数の変数が含まれている場合、それらはセミコロンで区切られます。 デフォルトでは、フィールドには 1 に設定された変数 新しい変数を作成するには、 テキストファイルに一連のレコードとして格納されている変数をリストに追加することができます。
Variable1 = Value1
Variable2 = Value2
テキストファイルから変数リストをコピーして、 環境変数 ダイアログ内の 貼り付け ( |
".env" ファイルへのパス | このフィールドには、環境変数を含む .env ファイルへのパスが表示されます。 複数のファイルがある場合、それらのファイルへのパスはセミコロンで区切られます。 .env ファイルのリストを管理するには、「
|
追加オプション
オプションを変更 をクリックし、ダイアログに追加したいオプションを選択してください。
オペレーティングシステム
項目 | 説明 |
|---|---|
複数のインスタンスを許可する | この実行構成の複数のインスタンスを並行して実行できるようにします。 デフォルトでは無効になっており、別のインスタンスがまだ実行されているときにこの構成を開始すると、PyCharm は実行中のインスタンスを停止して別のインスタンスを開始することを提案します。 これは、実行構成が多くのリソースを消費し、複数のインスタンスを実行する正当な理由がない場合に役立ちます。 |
Python
項目 | 説明 |
|---|---|
インタープリターオプション | このフィールドで、インタープリターに渡される コマンドラインオプション(英語)を指定します。 必要に応じて、 |
PYTHONPATH にコンテンツルートを追加する | このチェックボックスを選択すると、プロジェクトのすべての コンテンツルートが環境変数 PYTHONPATH に追加されます。 |
PYTHONPATH にソースルートを追加する | プロジェクトのすべての ソースルートを環境変数 PYTHONPATH に追加するには、このチェックボックスを選択してください。 |
ログ
次のオプションは、この構成の実行のログ記録に関連しています。 詳細については、 ログオプションの設定 を参照してください。
項目 | 説明 |
|---|---|
コンソールに表示するログファイルの指定 | アプリケーションの実行中に表示するログファイルを指定します。
テーブル内のログについては、次のオプションを構成できます:
|
コンソール出力をファイルに保存する | コンソール出力を指定の場所に保存します。 パスを手動で入力するか、参照ボタンをクリックして 表示されるダイアログで目的の場所を指定します。 |
メッセージが stdout に出力されたときにコンソールを表示する | アプリケーションが標準出力ストリームに書き込む際にコンソールを有効化します。 |
メッセージが stderr に出力されたときにコンソールを表示する | アプリケーションが標準エラーストリームに書き込む際にコンソールを有効化します。 |
起動前
項目 | 説明 |
|---|---|
開始時に実行 / デバッグツールウィンドウを開く | デフォルトではこのオプションが選択されており、実行 / デバッグ構成を開始すると、 実行または デバッグツールウィンドウが開きます。 そうでない場合、ツールウィンドウは非表示になります。 ただし、設定の実行中は、 Alt+4 または Alt+5 を押すことで、対応するツールウィンドウを自分で開くことができます。 |
開始時に実行 / デバッグツールウィンドウにフォーカスする | このオプションを選択すると、実行 / デバッグ構成を開始したときに、 実行または デバッグツールウィンドウに自動的にフォーカスが移動します。 |
開始前に実行 / デバッグ構成を表示する | このオプションを選択すると、実行/デバッグ構成を実際に開始する前に、実行/デバッグ構成の設定が表示されます。 |
起動前タスクの追加 | このオプションを選択すると、以下の利用可能なタスクのいずれかを追加できます。
|