StartTask クラス
ノードがAzure Batch サービスのプールに参加するとき、またはコンピューティング ノードが再起動または再イメージ化されたときに実行されるタスク。
Batch は、ノードで回復操作がトリガーされたときにタスクを再試行します。 復旧操作の例としては、異常なノードが再起動されたときや、ホスト障害が原因でコンピューティング ノードが消失した場合などです (ただし、これらに限定されません)。 回復操作による再試行は とは無関係であり、maxTaskRetryCount に対してカウントされません。 maxTaskRetryCount が 0 の場合でも、回復操作による内部再試行が発生する可能性があります。 このため、すべてのタスクはべき等である必要があります。 つまり、タスクは、破損や重複するデータを発生させることなく、中断および再起動されることを許容する必要があります。 実行時間の長いタスクのベスト プラクティスは、何らかの形式のチェックポイント処理を使用することです。 場合によっては、コンピューティング ノードが再起動されなかった場合でも、StartTask が再実行されることがあります。 StartTask は StartTask の再実行をブロックするため、StartTask を使用して中断プロセスを作成したり、StartTask 作業ディレクトリからサービスをインストール/起動したりしないように注意する必要があります。
Azure に送信するには、必要なすべてのパラメーターを設定する必要があります。
- 継承
-
StartTask
コンストラクター
StartTask(*, command_line: str, container_settings=None, resource_files=None, environment_settings=None, user_identity=None, max_task_retry_count: int = None, wait_for_success: bool = None, **kwargs)
パラメーター
- command_line
- str
必須。 コマンド ラインはシェルでは実行されないため、環境変数の拡張などのシェル機能を利用することはできません。 このような機能を利用する場合は、コマンド ラインでシェルを呼び出す必要があります。たとえば、Windows では "cmd /c MyCommand" を使用し、Linux では "/bin/sh -c MyCommand" を使用します。 コマンド ラインがファイル パスを参照している場合は、相対パス (タスク作業ディレクトリに対する相対パス) を使用するか、Batch で指定された環境変数 (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables) を使用する必要があります。
- container_settings
- TaskContainerSettings
StartTask を実行するコンテナーの設定。 これを指定すると、AZ_BATCH_NODE_ROOT_DIRの下にあるすべてのディレクトリ (ノード上のAzure Batchディレクトリのルート) がコンテナーにマップされ、すべての Task 環境変数がコンテナーにマップされ、Task コマンド ラインがコンテナーで実行されます。 AZ_BATCH_NODE_ROOT_DIRの外部のコンテナーで生成されたファイルはホスト ディスクに反映されない可能性があります。つまり、Batch ファイル API はそれらのファイルにアクセスできません。
- environment_settings
- list[EnvironmentSetting]
- max_task_retry_count
- int
タスクを再試行できる最大回数。 終了コードが 0 以外の場合、Batch サービスは Task を再試行します。 この値によって再試行の回数が限定されますのでご注意ください。 Batch サービスはタスクを 1 回試し、この制限まで再試行できます。 たとえば、最大再試行回数が 3 の場合、Batch はタスクを最大 4 回試行します (最初の再試行が 1 回、再試行回数が 3 回)。 最大再試行回数が 0 の場合、Batch サービスはタスクを再試行しません。 最大再試行回数が -1 の場合、Batch サービスは制限なくタスクを再試行しますが、開始タスクやタスクには推奨されません。 既定値は 0 (再試行なし) です。
- wait_for_success
- bool
コンピューティング ノードでタスクをスケジュールする前に、Batch サービスが StartTask が正常に完了するまで待機する必要があるかどうか (つまり、終了コード 0 で終了する)。 True で Node で StartTask が失敗した場合、Batch サービスは StartTask を最大再試行回数 (maxTaskRetryCount) まで再試行します。 すべての再試行の後もタスクが正常に完了していない場合、Batch サービスはノードを使用不可としてマークし、タスクをスケジュールしません。 この条件は、コンピューティング ノードの状態とエラー情報の詳細を使用して検出できます。 false の場合、Batch サービスは StartTask の完了を待機しません。 この場合、StartTask がまだ実行されている間に、他のタスクがコンピューティング ノードで実行を開始できます。StartTask が失敗した場合でも、新しいタスクは引き続きコンピューティング ノードでスケジュールされます。 既定値は true です。
メソッド
as_dict |
json.dump を使用して JSONify できる dict を返します。 高度な使用法では、必要に応じてコールバックをパラメーターとして使用できます。 キーは、Python で使用される属性名です。 Attr_descはメタデータのディクテーションです。 現在、msrest 型の 'type' と RestAPI でエンコードされたキーを持つ 'key' が含まれています。 値は、このオブジェクトの現在の値です。 返される文字列は、キーのシリアル化に使用されます。 戻り値の型がリストの場合、これは階層的な結果のディクトと見なされます。 このファイルの 3 つの例を参照してください。
XML シリアル化が必要な場合は、kwargs is_xml=True を渡すことができます。 |
deserialize |
RestAPI 構文を使用して str を解析し、モデルを返します。 |
enable_additional_properties_sending | |
from_dict |
指定されたキー抽出器を使用してディクテーションを解析し、モデルを返します。 既定では、キー抽出器 (rest_key_case_insensitive_extractor、attribute_key_case_insensitive_extractor、last_rest_key_case_insensitive_extractor) を検討してください |
is_xml_model | |
serialize |
このモデルから Azure に送信される JSON を返します。 これは、 as_dict(full_restapi_key_transformer、keep_readonly=False) のエイリアスです。 XML シリアル化が必要な場合は、kwargs is_xml=True を渡すことができます。 |
validate |
このモデルを再帰的に検証し、ValidationError の一覧を返します。 |
as_dict
json.dump を使用して JSONify できる dict を返します。
高度な使用法では、必要に応じてコールバックをパラメーターとして使用できます。
キーは、Python で使用される属性名です。 Attr_descはメタデータのディクテーションです。 現在、msrest 型の 'type' と RestAPI でエンコードされたキーを持つ 'key' が含まれています。 値は、このオブジェクトの現在の値です。
返される文字列は、キーのシリアル化に使用されます。 戻り値の型がリストの場合、これは階層的な結果のディクトと見なされます。
このファイルの 3 つの例を参照してください。
attribute_transformer
full_restapi_key_transformer
last_restapi_key_transformer
XML シリアル化が必要な場合は、kwargs is_xml=True を渡すことができます。
as_dict(keep_readonly=True, key_transformer=<function attribute_transformer>, **kwargs)
パラメーター
- key_transformer
- <xref:function>
キー トランスフォーマー関数。
- keep_readonly
戻り値
dict JSON 互換オブジェクト
の戻り値の型 :
deserialize
RestAPI 構文を使用して str を解析し、モデルを返します。
deserialize(data, content_type=None)
パラメーター
戻り値
このモデルのインスタンス
例外
enable_additional_properties_sending
enable_additional_properties_sending()
from_dict
指定されたキー抽出器を使用してディクテーションを解析し、モデルを返します。
既定では、キー抽出器 (rest_key_case_insensitive_extractor、attribute_key_case_insensitive_extractor、last_rest_key_case_insensitive_extractor) を検討してください
from_dict(data, key_extractors=None, content_type=None)
パラメーター
- key_extractors
戻り値
このモデルのインスタンス
例外
is_xml_model
is_xml_model()
serialize
このモデルから Azure に送信される JSON を返します。
これは、 as_dict(full_restapi_key_transformer、keep_readonly=False) のエイリアスです。
XML シリアル化が必要な場合は、kwargs is_xml=True を渡すことができます。
serialize(keep_readonly=False, **kwargs)
パラメーター
戻り値
dict JSON 互換オブジェクト
の戻り値の型 :
validate
Azure SDK for Python