Delen via


JobManagerTask Klas

Hiermee geeft u de details van een Taakbeheertaak op.

De taak Taakbeheer wordt automatisch gestart wanneer de taak wordt gemaakt. De Batch-service probeert de taak Job Manager te plannen vóór eventuele andere taken in de taak. Bij het verkleinen van een pool probeert de Batch-service knooppunten waarop Job Manager-taken worden uitgevoerd zo lang mogelijk te behouden (rekenknooppunten met 'normale' taken worden verwijderd voordat rekenknooppunten jobbeheertaken uitvoeren). Wanneer een Taakbeheertaak mislukt en opnieuw moet worden gestart, probeert het systeem deze met de hoogste prioriteit te plannen. Als er geen niet-actieve rekenknooppunten beschikbaar zijn, kan het systeem een van de actieve taken in de pool beëindigen en terugbrengen naar de wachtrij om ruimte vrij te maken voor het opnieuw opstarten van de Taakbeheertaak. Houd er rekening mee dat een Taakbeheertaak in de ene taak geen prioriteit heeft boven taken in andere taken. Voor alle taken worden alleen prioriteiten op taakniveau in acht genomen. Als een Job Manager in een taak met prioriteit 0 bijvoorbeeld opnieuw moet worden gestart, worden taken van een taak met prioriteit 1 niet verplaatst. 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 de 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 opgestart zonder beschadiging of dubbele gegevens te veroorzaken. De best practice voor langlopende taken is om een vorm van controlepunten te gebruiken.

Alle vereiste parameters moeten worden ingevuld om naar Azure te kunnen worden verzonden.

Overname
JobManagerTask

Constructor

JobManagerTask(*, id: str, command_line: str, display_name: str = None, container_settings=None, resource_files=None, output_files=None, environment_settings=None, constraints=None, required_slots: int = None, kill_job_on_completion: bool = None, user_identity=None, run_exclusive: bool = None, application_package_references=None, authentication_token_settings=None, allow_low_priority_node: bool = None, **kwargs)

Parameters

id
str
Vereist

Vereist. De id kan elke combinatie van alfanumerieke tekens bevatten, inclusief afbreekstreepjes en onderstrepingstekens, en mag niet meer dan 64 tekens bevatten.

display_name
str
Vereist

Het hoeft niet uniek te zijn en kan Unicode-tekens bevatten met een maximale lengte van 1024.

command_line
str
Vereist

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
Vereist

De instellingen voor de container waaronder de taak Taak jobbeheer wordt uitgevoerd. Als voor de groep die deze taak uitvoert containerConfiguration is ingesteld, moet dit ook worden ingesteld. Als voor de groep die deze taak uitvoert, geen containerConfiguration is ingesteld, moet dit niet worden ingesteld. 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]
Vereist

Bestanden die onder dit element worden vermeld, bevinden zich in de werkmap van de taak. Er is een maximale grootte voor de lijst met resourcebestanden. Wanneer de maximale grootte wordt overschreden, mislukt de aanvraag en is de antwoordfoutcode RequestEntityTooLarge. Als dit gebeurt, moet de verzameling ResourceFiles worden verkleind. Dit kan worden bereikt met behulp van .zip-bestanden, toepassingspakketten of Docker-containers.

output_files
list[OutputFile]
Vereist

Voor taken met meerdere exemplaren worden de bestanden alleen geüpload vanaf het rekenknooppunt waarop de primaire taak wordt uitgevoerd.

environment_settings
list[EnvironmentSetting]
Vereist
constraints
TaskConstraints
Vereist

Beperkingen die van toepassing zijn op de taak Job Manager.

required_slots
int
Vereist

Het aantal planningssites dat de taak nodig heeft om uit te voeren. De standaardwaarde is 1. Een taak kan alleen worden gepland om te worden uitgevoerd op een rekenknooppunt als het knooppunt voldoende vrije planningssites beschikbaar heeft. Voor taken met meerdere instanties wordt deze eigenschap niet ondersteund en moet deze niet worden opgegeven.

kill_job_on_completion
bool
Vereist

Hiermee wordt aangegeven of het voltooien van de Taakbeheertaak aangeeft dat de volledige taak is voltooid. Als dit waar is, markeert de Batch-service de taak als voltooid wanneer de Taak is voltooid. Als er op dit moment nog taken worden uitgevoerd (behalve Taakrelease), worden deze taken beëindigd. Indien onwaar, heeft de voltooiing van de Taakbeheertaak geen invloed op de taakstatus. In dit geval moet u het kenmerk onAllTasksComplete gebruiken om de taak te beëindigen of een client of gebruiker de taak expliciet laten beëindigen. Een voorbeeld hiervan is als de Taakbeheerder een set taken maakt, maar vervolgens geen verdere rol speelt bij de uitvoering ervan. De standaardwaarde is waar. Als u de kenmerken onAllTasksComplete en onTaskFailure gebruikt om de levensduur van de taak te beheren en de taak Jobbeheer alleen gebruikt om de taken voor de taak te maken (niet om de voortgang te bewaken), is het belangrijk om killJobOnCompletion in te stellen op false.

user_identity
UserIdentity
Vereist

De gebruikersidentiteit waaronder de taak Job Manager wordt uitgevoerd. Als u dit weglaat, wordt de taak uitgevoerd als een gebruiker zonder beheerdersrechten die uniek is voor de taak.

run_exclusive
bool
Vereist

Hiermee wordt aangegeven of voor taakbeheer exclusief gebruik is vereist van het rekenknooppunt waarop deze wordt uitgevoerd. Als dit waar is, worden er geen andere taken uitgevoerd op hetzelfde knooppunt zolang jobbeheer wordt uitgevoerd. Indien onwaar, kunnen andere taken tegelijkertijd met Taakbeheer op een rekenknooppunt worden uitgevoerd. De Taakbeheertaak telt normaal mee voor de limiet voor gelijktijdige taken van het rekenknooppunt, dus dit is alleen relevant als het rekenknooppunt meerdere gelijktijdige taken toestaat. De standaardwaarde is waar.

application_package_references
list[ApplicationPackageReference]
Vereist

Toepassingspakketten worden gedownload en geïmplementeerd in een gedeelde map, niet in de taakwerkmap. Als een toepassingspakket waarnaar wordt verwezen, zich al op het rekenknooppunt bevindt en up-to-date is, wordt het niet opnieuw gedownload; de bestaande kopie op het rekenknooppunt wordt gebruikt. Als een toepassingspakket waarnaar wordt verwezen, niet kan worden geïnstalleerd, bijvoorbeeld omdat het pakket is verwijderd of omdat het downloaden is mislukt, mislukt de taak.

authentication_token_settings
AuthenticationTokenSettings
Vereist

De instellingen voor een verificatietoken die de taak kan gebruiken om Batch-servicebewerkingen uit te voeren. Als deze eigenschap is ingesteld, biedt de Batch-service de taak een verificatietoken dat kan worden gebruikt om Batch-servicebewerkingen te verifiëren zonder dat hiervoor een accounttoegangssleutel nodig is. Het token wordt geleverd via de omgevingsvariabele AZ_BATCH_AUTHENTICATION_TOKEN. De bewerkingen die met de taak kunnen worden uitgevoerd met behulp van het token, zijn afhankelijk van de instellingen. Een taak kan bijvoorbeeld taakmachtigingen aanvragen om andere taken aan de taak toe te voegen of de status van de taak of van andere taken onder de taak te controleren.

allow_low_priority_node
bool
Vereist

Of de Taakbeheertaak kan worden uitgevoerd op een rekenknooppunt met een spot-/lage prioriteit. De standaardwaarde is waar.

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:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

Als u XML-serialisatie wilt, kunt u de kwargs-is_xml=True doorgeven.

deserialize

Parseert een str met behulp van de RestAPI-syntaxis en retourneert een model.

enable_additional_properties_sending
from_dict

Een dict parseren 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
standaardwaarde: True

Retouren

Een dict JSON-compatibel object

Retourtype

deserialize

Parseert een str met behulp van de RestAPI-syntaxis en retourneert een model.

deserialize(data, content_type=None)

Parameters

data
str
Vereist

Een str met behulp van restAPI-structuur. JSON standaard.

content_type
str
standaardwaarde: None

JSON standaard: stel application/xml in als XML.

Retouren

Een exemplaar van dit model

Uitzonderingen

DeserializationError if something went wrong

enable_additional_properties_sending

enable_additional_properties_sending()

from_dict

Een dict parseren 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

data
dict
Vereist

Een dict met behulp van de RestAPI-structuur

content_type
str
standaardwaarde: None

JSON standaard: stel application/xml in als XML.

key_extractors
standaardwaarde: None

Retouren

Een exemplaar van dit model

Uitzonderingen

DeserializationError if something went wrong

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

keep_readonly
bool
standaardwaarde: False

Als u de alleen-lezen kenmerken wilt serialiseren

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