StartTask Klas
Een taak die wordt uitgevoerd wanneer een knooppunt lid wordt van een pool in de Azure Batch-service of wanneer het rekenknooppunt opnieuw wordt opgestart of opnieuw wordt geïnstalleerd.
Batch voert taken opnieuw uit wanneer een herstelbewerking wordt geactiveerd op een knooppunt. Voorbeelden van herstelbewerkingen zijn (maar zijn niet beperkt tot) wanneer een beschadigd knooppunt opnieuw wordt opgestart of een rekenknooppunt is verdwenen vanwege een hostfout. Nieuwe pogingen vanwege herstelbewerkingen zijn onafhankelijk van en worden niet meegeteld voor de maxTaskRetryCount. Zelfs als maxTaskRetryCount 0 is, kan er een interne nieuwe poging vanwege een herstelbewerking plaatsvinden. Daarom moeten alle taken idempotent zijn. Dit betekent dat taken moeten worden onderbroken en opnieuw worden gestart zonder beschadiging of dubbele gegevens te veroorzaken. De best practice voor langlopende taken is om een vorm van controlepunten te gebruiken. In sommige gevallen kan de StartTask opnieuw worden uitgevoerd, zelfs als het rekenknooppunt niet opnieuw is opgestart. Er moet met name op worden gelet dat StartTasks die een breakaway-proces maken of services installeren/starten vanuit de Werkmap StartTask, omdat Dit voorkomt dat Batch de StartTask opnieuw kan uitvoeren.
Alle vereiste parameters moeten worden ingevuld om naar Azure te kunnen worden verzonden.
- Overname
-
StartTask
Constructor
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)
Parameters
- command_line
- str
Vereist. De opdrachtregel wordt niet uitgevoerd onder een shell en kan daarom niet profiteren van shell-functies zoals uitbreiding van omgevingsvariabelen. Als u van dergelijke functies wilt profiteren, moet u de shell in de opdrachtregel aanroepen, bijvoorbeeld met 'cmd /c MyCommand' in Windows of '/bin/sh -c MyCommand' in Linux. Als de opdrachtregel naar bestandspaden verwijst, moet deze een relatief pad gebruiken (ten opzichte van de taakwerkmap) of de door Batch opgegeven omgevingsvariabele () gebruiken.https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables
- container_settings
- TaskContainerSettings
De instellingen voor de container waaronder StartTask wordt uitgevoerd. Wanneer dit is opgegeven, worden alle mappen recursief onder de AZ_BATCH_NODE_ROOT_DIR (de hoofdmap van Azure Batch mappen op het knooppunt) toegewezen aan de container, worden alle taakomgevingsvariabelen toegewezen aan de container en wordt de taakopdrachtregel uitgevoerd in de container. Bestanden die zijn geproduceerd in de container buiten AZ_BATCH_NODE_ROOT_DIR worden mogelijk niet weergegeven op de hostschijf, wat betekent dat Api's van Batch-bestanden geen toegang hebben tot deze bestanden.
- resource_files
- list[ResourceFile]
Bestanden die onder dit element worden vermeld, bevinden zich in de werkmap van de taak.
- environment_settings
- list[EnvironmentSetting]
- user_identity
- UserIdentity
De gebruikersidentiteit waaronder de StartTask wordt uitgevoerd. Als u dit weglaat, wordt de taak uitgevoerd als een gebruiker zonder beheerdersrechten die uniek is voor de taak.
- max_task_retry_count
- int
Het maximum aantal keren dat de taak opnieuw kan worden geprobeerd. De Batch-service probeert een taak opnieuw als de afsluitcode een andere is dan nul. Houd er rekening mee dat deze waarde specifiek het aantal nieuwe pogingen bepaalt. De Batch-service probeert de taak eenmaal uit te voeren en kan het vervolgens opnieuw proberen tot deze limiet. Als het maximumaantal nieuwe pogingen bijvoorbeeld 3 is, probeert Batch de taak maximaal vier keer (één eerste poging en 3 nieuwe pogingen). Als het maximumaantal nieuwe pogingen 0 is, voert de Batch-service de taak niet opnieuw uit. Als het maximumaantal nieuwe pogingen -1 is, probeert de Batch-service de taak opnieuw zonder limiet, maar dit wordt niet aanbevolen voor een begintaak of een willekeurige taak. De standaardwaarde is 0 (geen nieuwe pogingen).
- wait_for_success
- bool
Of de Batch-service moet wachten tot de StartTask is voltooid (dat wil gezegd, afsluiten met afsluitcode 0) voordat taken op het rekenknooppunt worden gepland. Als true en de StartTask mislukt op een knooppunt, probeert de Batch-service de StartTask opnieuw tot het maximale aantal nieuwe pogingen (maxTaskRetryCount). Als de taak na alle nieuwe pogingen nog steeds niet is voltooid, markeert de Batch-service het knooppunt als onbruikbaar en worden er geen taken op gepland. Deze voorwaarde kan worden gedetecteerd via de details van de status van het rekenknooppunt en foutgegevens. Indien onwaar, wacht de Batch-service niet tot de StartTask is voltooid. In dit geval kunnen andere taken worden uitgevoerd op het rekenknooppunt terwijl de StartTask nog steeds wordt uitgevoerd; en zelfs als de StartTask mislukt, worden nieuwe taken gepland op het rekenknooppunt. De standaardwaarde is true.
Methoden
as_dict |
Retourneer een dict die JSONify kan zijn met behulp van json.dump. Geavanceerd gebruik kan eventueel een callback gebruiken als parameter: Sleutel is de kenmerknaam die wordt gebruikt in Python. Attr_desc is een dictaat van metagegevens. Bevat momenteel 'type' met het msrest-type en 'key' met de RestAPI-gecodeerde sleutel. Waarde is de huidige waarde in dit object. De geretourneerde tekenreeks wordt gebruikt om de sleutel te serialiseren. Als het retourtype een lijst is, wordt dit beschouwd als hiërarchische resultaatdicteerfunctie. Bekijk de drie voorbeelden in dit bestand:
Als u XML-serialisatie wilt, kunt u de kwargs-is_xml=True doorgeven. |
deserialize |
Parseert een str met behulp van de RestAPI-syntaxis en retourneer een model. |
enable_additional_properties_sending | |
from_dict |
Een dicteren met behulp van de opgegeven sleutelextractor retourneert een model. Houd standaard rekening met sleutelextracties (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor en last_rest_key_case_insensitive_extractor) |
is_xml_model | |
serialize |
Retourneert de JSON die vanuit dit model naar Azure wordt verzonden. Dit is een alias voor as_dict(full_restapi_key_transformer, keep_readonly=False). Als u XML-serialisatie wilt, kunt u de kwargs-is_xml=True doorgeven. |
validate |
Valideer dit model recursief en retourneer een lijst met ValidationError. |
as_dict
Retourneer een dict die JSONify kan zijn met behulp van json.dump.
Geavanceerd gebruik kan eventueel een callback gebruiken als parameter:
Sleutel is de kenmerknaam die wordt gebruikt in Python. Attr_desc is een dictaat van metagegevens. Bevat momenteel 'type' met het msrest-type en 'key' met de RestAPI-gecodeerde sleutel. Waarde is de huidige waarde in dit object.
De geretourneerde tekenreeks wordt gebruikt om de sleutel te serialiseren. Als het retourtype een lijst is, wordt dit beschouwd als hiërarchische resultaatdicteerfunctie.
Bekijk de drie voorbeelden in dit bestand:
attribute_transformer
full_restapi_key_transformer
last_restapi_key_transformer
Als u XML-serialisatie wilt, kunt u de kwargs-is_xml=True doorgeven.
as_dict(keep_readonly=True, key_transformer=<function attribute_transformer>, **kwargs)
Parameters
- key_transformer
- <xref:function>
Een sleuteltransformatorfunctie.
- keep_readonly
Retouren
Een dict JSON-compatibel object
Retourtype
deserialize
Parseert een str met behulp van de RestAPI-syntaxis en retourneer een model.
deserialize(data, content_type=None)
Parameters
Retouren
Een exemplaar van dit model
Uitzonderingen
enable_additional_properties_sending
enable_additional_properties_sending()
from_dict
Een dicteren met behulp van de opgegeven sleutelextractor retourneert een model.
Houd standaard rekening met sleutelextracties (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor en last_rest_key_case_insensitive_extractor)
from_dict(data, key_extractors=None, content_type=None)
Parameters
- key_extractors
Retouren
Een exemplaar van dit model
Uitzonderingen
is_xml_model
is_xml_model()
serialize
Retourneert de JSON die vanuit dit model naar Azure wordt verzonden.
Dit is een alias voor as_dict(full_restapi_key_transformer, keep_readonly=False).
Als u XML-serialisatie wilt, kunt u de kwargs-is_xml=True doorgeven.
serialize(keep_readonly=False, **kwargs)
Parameters
Retouren
Een dict JSON-compatibel object
Retourtype
validate
Valideer dit model recursief en retourneer een lijst met ValidationError.
validate()
Retouren
Een lijst met validatiefouten
Retourtype
Azure SDK for Python