Dela via


StartTask Klass

En aktivitet som körs när en nod ansluter till en pool i Azure Batch-tjänsten, eller när beräkningsnoden startas om eller omskapas.

Batch försöker utföra uppgifter igen när en återställningsåtgärd utlöses på en nod. Exempel på återställningsåtgärder är (men är inte begränsade till) när en nod med feltillstånd startas om eller en beräkningsnod försvinner på grund av värdfel. Återförsök på grund av återställningsåtgärder är oberoende av och räknas inte mot maxTaskRetryCount. Även om maxTaskRetryCount är 0 kan ett internt återförsök på grund av en återställningsåtgärd inträffa. Därför bör alla aktiviteter vara idempotent. Det innebär att uppgifter måste tolerera att avbrytas och startas om utan att orsaka några skador eller duplicerade data. Bästa praxis för långvariga uppgifter är att använda någon form av kontrollpunkter. I vissa fall kan StartTask köras igen även om beräkningsnoden inte startades om. Särskild försiktighet bör iakttas för att undvika StartTasks som skapar utbrytningsprocess eller installerar/startar tjänster från StartTask-arbetskatalogen, eftersom detta hindrar Batch från att kunna köra StartTask igen.

Alla obligatoriska parametrar måste fyllas i för att kunna skickas till Azure.

Arv
StartTask

Konstruktor

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)

Parametrar

command_line
str
Obligatorisk

Krävs. Kommandoraden körs inte under ett gränssnitt och kan därför inte dra nytta av gränssnittsfunktioner som expansion av miljövariabler. Om du vill dra nytta av sådana funktioner bör du anropa gränssnittet på kommandoraden, till exempel med "cmd /c MyCommand" i Windows eller "/bin/sh -c MyCommand" i Linux. Om kommandoraden refererar till filsökvägar bör den använda en relativ sökväg (i förhållande till arbetskatalogen Uppgift) eller använda miljövariabeln som tillhandahålls av Batch (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables).

container_settings
TaskContainerSettings
Obligatorisk

Inställningarna för containern under vilken StartTask körs. När detta anges mappas alla kataloger rekursivt under AZ_BATCH_NODE_ROOT_DIR (roten av Azure Batch kataloger på noden) till containern, alla miljövariabler för aktivitet mappas till containern och kommandoraden Task körs i containern. Filer som skapas i containern utanför AZ_BATCH_NODE_ROOT_DIR kanske inte återspeglas på värddisken, vilket innebär att Batch-fil-API:er inte kommer åt dessa filer.

resource_files
list[ResourceFile]
Obligatorisk

Filer som anges under det här elementet finns i arbetskatalogen för aktiviteten.

environment_settings
list[EnvironmentSetting]
Obligatorisk
user_identity
UserIdentity
Obligatorisk

Användaridentiteten som StartTask körs under. Om den utelämnas körs aktiviteten som en icke-administrativ användare som är unik för aktiviteten.

max_task_retry_count
int
Obligatorisk

Det maximala antalet gånger som aktiviteten kan försökas igen. Batch-tjänsten försöker utföra en aktivitet igen om slutkoden inte är noll. Observera att det här värdet specifikt styr antalet återförsök. Batch-tjänsten provar uppgiften en gång och kan sedan försöka igen upp till den här gränsen. Om det maximala antalet återförsök till exempel är 3 försöker Batch aktiviteten upp till 4 gånger (ett första försök och 3 återförsök). Om det maximala antalet återförsök är 0 försöker Inte Batch-tjänsten uppgiften igen. Om det maximala antalet återförsök är -1 försöker Batch-tjänsten aktiviteten utan begränsning igen, men detta rekommenderas inte för en startaktivitet eller någon aktivitet. Standardvärdet är 0 (inga återförsök).

wait_for_success
bool
Obligatorisk

Om Batch-tjänsten ska vänta tills StartTask har slutförts (d.v.s. avsluta med slutkod 0) innan aktiviteter schemaläggs på beräkningsnoden. Om true och StartTask misslyckas på en nod försöker Batch-tjänsten starta om StartTask upp till det maximala antalet återförsök (maxTaskRetryCount). Om aktiviteten fortfarande inte har slutförts efter alla återförsök markerar Batch-tjänsten noden som oanvändbar och schemalägger inte aktiviteter till den. Det här villkoret kan identifieras via information om beräkningsnodens tillstånd och felinformation. Om värdet är falskt väntar inte Batch-tjänsten på att StartTask ska slutföras. I det här fallet kan andra uppgifter börja köras på beräkningsnoden medan StartTask fortfarande körs. och även om StartTask misslyckas fortsätter nya aktiviteter att schemaläggas på beräkningsnoden. Standardvärdet är true.

Metoder

as_dict

Returnera en diktamen som kan vara JSONify med hjälp av json.dump.

Avancerad användning kan också använda ett återanrop som parameter:

Nyckeln är det attributnamn som används i Python. Attr_desc är en diktering av metadata. Innehåller för närvarande "typ" med msrest-typen och "nyckel" med den RestAPI-kodade nyckeln. Värde är det aktuella värdet i det här objektet.

Strängen som returneras används för att serialisera nyckeln. Om returtypen är en lista anses detta vara hierarkisk resultatdikt.

Se de tre exemplen i den här filen:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

Om du vill ha XML-serialisering kan du skicka kwargs-is_xml=True.

deserialize

Parsa en str med hjälp av RestAPI-syntaxen och returnera en modell.

enable_additional_properties_sending
from_dict

Parsa en diktamen med hjälp av den angivna nyckelextraktorn returnerar en modell.

Som standard bör du överväga nyckelextraktorer (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor och last_rest_key_case_insensitive_extractor)

is_xml_model
serialize

Returnera den JSON som skulle skickas till Azure från den här modellen.

Det här är ett alias för as_dict(full_restapi_key_transformer, keep_readonly=False).

Om du vill ha XML-serialisering kan du skicka kwargs-is_xml=True.

validate

Verifiera den här modellen rekursivt och returnera en lista över ValidationError.

as_dict

Returnera en diktamen som kan vara JSONify med hjälp av json.dump.

Avancerad användning kan också använda ett återanrop som parameter:

Nyckeln är det attributnamn som används i Python. Attr_desc är en diktering av metadata. Innehåller för närvarande "typ" med msrest-typen och "nyckel" med den RestAPI-kodade nyckeln. Värde är det aktuella värdet i det här objektet.

Strängen som returneras används för att serialisera nyckeln. Om returtypen är en lista anses detta vara hierarkisk resultatdikt.

Se de tre exemplen i den här filen:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

Om du vill ha XML-serialisering kan du skicka kwargs-is_xml=True.

as_dict(keep_readonly=True, key_transformer=<function attribute_transformer>, **kwargs)

Parametrar

key_transformer
<xref:function>

En nyckeltransformatorfunktion.

keep_readonly
standardvärde: True

Returer

Ett dict JSON-kompatibelt objekt

Returtyp

deserialize

Parsa en str med hjälp av RestAPI-syntaxen och returnera en modell.

deserialize(data, content_type=None)

Parametrar

data
str
Obligatorisk

En str som använder RestAPI-struktur. JSON som standard.

content_type
str
standardvärde: None

JSON anger som standard application/xml om XML.

Returer

En instans av den här modellen

Undantag

DeserializationError if something went wrong

enable_additional_properties_sending

enable_additional_properties_sending()

from_dict

Parsa en diktamen med hjälp av den angivna nyckelextraktorn returnerar en modell.

Som standard bör du överväga nyckelextraktorer (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor och last_rest_key_case_insensitive_extractor)

from_dict(data, key_extractors=None, content_type=None)

Parametrar

data
dict
Obligatorisk

En diktamen som använder RestAPI-struktur

content_type
str
standardvärde: None

JSON anger som standard application/xml om XML.

key_extractors
standardvärde: None

Returer

En instans av den här modellen

Undantag

DeserializationError if something went wrong

is_xml_model

is_xml_model()

serialize

Returnera den JSON som skulle skickas till Azure från den här modellen.

Det här är ett alias för as_dict(full_restapi_key_transformer, keep_readonly=False).

Om du vill ha XML-serialisering kan du skicka kwargs-is_xml=True.

serialize(keep_readonly=False, **kwargs)

Parametrar

keep_readonly
bool
standardvärde: False

Om du vill serialisera skrivskyddade attribut

Returer

Ett dict JSON-kompatibelt objekt

Returtyp

validate

Verifiera den här modellen rekursivt och returnera en lista över ValidationError.

validate()

Returer

En lista över valideringsfel

Returtyp