StartTask 클래스
노드가 Azure Batch 서비스에서 풀에 조인하거나 컴퓨팅 노드를 다시 부팅하거나 이미지로 다시 설치할 때 실행되는 작업입니다.
Batch는 노드에서 복구 작업이 트리거될 때 작업을 다시 시도합니다. 복구 작업의 예로는 비정상 노드가 다시 부팅되거나 호스트 실패로 인해 컴퓨팅 노드가 사라진 경우(하지만 제한되지 않음)가 있습니다. 복구 작업으로 인한 재시도는 독립적이며 maxTaskRetryCount에 대해 계산되지 않습니다. maxTaskRetryCount가 0이더라도 복구 작업으로 인한 내부 재시도가 발생할 수 있습니다. 이 때문에 모든 작업은 idempotent여야 합니다. 즉, 작업은 손상 또는 중복 데이터를 유발하지 않고 중단되고 다시 시작되는 것을 허용해야 합니다. 장기 실행 작업의 모범 사례는 일종의 검사점 지정을 사용하는 것입니다. 경우에 따라 컴퓨팅 노드가 다시 부팅되지 않았더라도 StartTask가 다시 실행될 수 있습니다. 중단 프로세스를 만들거나 StartTask 작업 디렉터리에서 서비스를 설치/시작하는 StartTasks를 방지하기 위해 특별히 주의해야 합니다. 이렇게 하면 Batch가 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 디렉터리 루트)가 컨테이너에 매핑되고 모든 작업 환경 변수가 컨테이너에 매핑되고 작업 명령줄이 컨테이너에서 실행됩니다. AZ_BATCH_NODE_ROOT_DIR 외부의 컨테이너에서 생성된 파일은 호스트 디스크에 반영되지 않을 수 있습니다. 즉, Batch 파일 API가 해당 파일에 액세스할 수 없습니다.
- environment_settings
- list[EnvironmentSetting]
- max_task_retry_count
- int
작업을 재시도할 수 있는 최대 횟수입니다. 종료 코드가 0이 아닌 경우 Batch 서비스는 작업을 다시 시도합니다. 이 값은 구체적으로 재시도 횟수를 제어합니다. Batch 서비스는 작업을 한 번 시도한 다음 이 제한까지 다시 시도할 수 있습니다. 예를 들어 최대 재시도 횟수가 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일 수 있는 받아쓰기를 반환합니다. 고급 사용은 필요에 따라 콜백을 매개 변수로 사용할 수 있습니다. 키는 Python에서 사용되는 특성 이름입니다. Attr_desc 메타데이터의 받아쓰기입니다. 현재 msrest 형식이 있는 'type'과 RestAPI 인코딩된 키가 있는 'key'가 포함되어 있습니다. 값은 이 개체의 현재 값입니다. 반환된 문자열은 키를 serialize하는 데 사용됩니다. 반환 형식이 목록인 경우 계층적 결과 받아쓰기로 간주됩니다. 이 파일의 세 가지 예제를 참조하세요.
XML serialization을 원하는 경우 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 serialization을 원하는 경우 kwargs is_xml=True를 전달할 수 있습니다. |
validate |
이 모델의 유효성을 재귀적으로 확인하고 ValidationError 목록을 반환합니다. |
as_dict
json.dump를 사용하여 JSONify일 수 있는 받아쓰기를 반환합니다.
고급 사용은 필요에 따라 콜백을 매개 변수로 사용할 수 있습니다.
키는 Python에서 사용되는 특성 이름입니다. Attr_desc 메타데이터의 받아쓰기입니다. 현재 msrest 형식이 있는 'type'과 RestAPI 인코딩된 키가 있는 'key'가 포함되어 있습니다. 값은 이 개체의 현재 값입니다.
반환된 문자열은 키를 serialize하는 데 사용됩니다. 반환 형식이 목록인 경우 계층적 결과 받아쓰기로 간주됩니다.
이 파일의 세 가지 예제를 참조하세요.
attribute_transformer
full_restapi_key_transformer
last_restapi_key_transformer
XML serialization을 원하는 경우 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)
매개 변수
반환
이 모델의 instance
예외
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
반환
이 모델의 instance
예외
is_xml_model
is_xml_model()
serialize
이 모델에서 azure로 보낼 JSON을 반환합니다.
이는 as_dict(full_restapi_key_transformer, keep_readonly=False)에 대한 별칭입니다.
XML serialization을 원하는 경우 kwargs is_xml=True를 전달할 수 있습니다.
serialize(keep_readonly=False, **kwargs)
매개 변수
반환
dict JSON 호환 개체
반환 형식
validate
Azure SDK for Python
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기