Úlohy a úlohy v Azure BatchJobs and tasks in Azure Batch

V Azure Batch úkol představuje jednotku výpočtu.In Azure Batch, a task represents a unit of computation. Úloha je kolekcí těchto úkolů.A job is a collection of these tasks. Další informace o úlohách a úlohách a způsobu jejich použití v Azure Batchovém pracovním postupu jsou popsané dál.More about jobs and tasks, and how they are used in an Azure Batch workflow, is described below.

ÚlohyJobs

Úloha je kolekce úkolů.A job is a collection of tasks. Řídí, jak se provádí výpočet pomocí jejích úkolů na výpočetních uzlech ve fondu.It manages how computation is performed by its tasks on the compute nodes in a pool.

Úloha Určuje fond , ve kterém má být práce spuštěna.A job specifies the pool in which the work is to be run. Můžete vytvořit nový fond pro každou úlohu nebo použít jeden fond pro mnoho úloh.You can create a new pool for each job, or use one pool for many jobs. Můžete vytvořit fond pro každou úlohu, která je přidružená k plánu úlohy, nebo jeden fond pro všechny úlohy, které jsou přidružené k plánu úlohy.You can create a pool for each job that is associated with a job schedule, or one pool for all jobs that are associated with a job schedule.

Priorita úlohJob priority

Úlohám, které vytvoříte, můžete přiřadit volitelnou prioritu úlohy.You can assign an optional job priority to jobs that you create. Služba Batch používá hodnotu priority úlohy k určení pořadí plánování (pro všechny úlohy v rámci úlohy) wtihin každý fond.The Batch service uses the priority value of the job to determine the order of scheduling (for all tasks within the job) wtihin each pool.

Chcete-li aktualizovat prioritu úlohy, zavolejte aktualizaci vlastností operace úlohy (Batch REST) nebo upravte vlastnosti cloudjob. priority (Batch .NET).To update the priority of a job, call the Update the properties of a job operation (Batch REST), or modify the CloudJob.Priority (Batch .NET). Hodnoty priority jsou v rozsahu od-1000 (nejnižší priorita) do 1000 (nejvyšší priorita).Priority values range from -1000 (lowest priority) to 1000 (highest priority).

V rámci stejného fondu mají úlohy s vyšší prioritou přednost plánování před úlohami s nižší prioritou.Within the same pool, higher-priority jobs have scheduling precedence over lower-priority jobs. Úlohy v úlohách s nižší prioritou, které jsou již spuštěny, nebudou přerušeny úlohami v úloze s vyšší prioritou.Tasks in lower-priority jobs that are already running won't be preempted by tasks in a higher-priority job. Úlohy se stejnou úrovní priority mají stejnou pravděpodobnost, že se naplánuje, a pořadí provádění úkolů není definované.Jobs with the same priority level have an equal chance of being scheduled, and ordering of task execution is not defined.

Úloha s hodnotou s vysokou prioritou spuštěnou v jednom fondu nebude mít vliv na plánování úloh spuštěných v samostatném fondu nebo v jiném účtu Batch.A job with a high-priority value running in one pool won't impact scheduling of jobs running in a separate pool or in a different Batch account. Priorita úlohy se nevztahuje na autofondy, které jsou vytvořeny při odeslání úlohy.Job priority doesn't apply to autopools, which are created when the job is submitted.

Omezení úlohyJob constraints

Můžete použít omezení úlohy k zadání určitých omezení pro úlohy.You can use job constraints to specify certain limits for your jobs:

  • Můžete nastavit maximální uplynulý čas, takže pokud některá úloha běží po dobu delší než určený maximální uplynulý čas, úloha a všechny její úkoly budou ukončeny.You can set a maximum wallclock time, so that if a job runs for longer than the maximum wallclock time that is specified, the job and all of its tasks are terminated.
  • Jako omezení můžete zadat maximální počet opakovaných pokusů o úlohu , včetně toho, jestli se má úloha vždycky opakovat, nebo se nikdy neopakuje.You can specify the maximum number of task retries as a constraint, including whether a task is always retried or never retried. Opakování úkolu znamená, že pokud úloha selže, bude znovu zařazen do fronty, aby ji bylo možné znovu spustit.Retrying a task means that if the task fails, it will be requeued to run again.

Úlohy Správce úloh a automatické ukončeníJob manager tasks and automatic termination

Klientská aplikace si může přidat úkoly do úlohy, nebo můžete zadat úkol správce úloh.Your client application can add tasks to a job, or you can specify a job manager task. Úkol správce úloh obsahuje informace potřebné k vytvoření požadovaných úkolů pro úlohu, přičemž úkol správce úloh běží na jednom výpočetním uzlu v rámci fondu.A job manager task contains the information that is necessary to create the required tasks for a job, with the job manager task being run on one of the compute nodes in the pool. Úkol správce úloh je zpracováván konkrétně dávkou. je zařazená do fronty, jakmile se úloha vytvoří a restartuje se, pokud se nezdařila.The job manager task is handled specifically by Batch; it is queued as soon as the job is created and is restarted if it fails. Úkol správce úloh je vyžadován pro úlohy, které jsou vytvořeny plánem úlohy, protože se jedná o jediný způsob, jak definovat úkoly před vytvořením instance úlohy.A job manager task is required for jobs that are created by a job schedule, because it is the only way to define the tasks before the job is instantiated.

Ve výchozím nastavení zůstanou úlohy v aktivním stavu po dokončení všech úkolů v rámci úlohy.By default, jobs remain in the active state when all tasks within the job are complete. Toto chování můžete změnit tak, aby se úlohy automaticky ukončily po dokončení všech úkolů v úloze.You can change this behavior so that the job is automatically terminated when all tasks in the job are complete. Nastavte vlastnost onAllTasksComplete úlohy (onAllTasksComplete v dávce .NET) na terminatejob * pro automatické ukončení úlohy, když jsou všechny její úkoly v dokončeném stavu.Set the job's onAllTasksComplete property (OnAllTasksComplete in Batch .NET) to terminatejob*` to automatically terminate the job when all of its tasks are in the completed state.

Služba Batch posuzuje úlohu, která nemá žádné úkoly na dokončení všech jejích úkolů.The Batch service considers a job with no tasks to have all of its tasks completed. Tato možnost se proto nejčastěji používá pro úkoly správce úloh.Therefore, this option is most commonly used with a job manager task. Pokud chcete použít automatické ukončení úlohy bez Správce úloh, měli byste nejprve nastavit vlastnost onAllTasksComplete nové úlohy na hodnotu noaction a potom ji nastavit na hodnotu terminatejob * až po dokončení přidávání úkolů do úlohy.If you want to use automatic job termination without a job manager, you should initially set a new job's onAllTasksComplete property to noaction, then set it to terminatejob*` only after you've finished adding tasks to the job.

Naplánované úlohyScheduled jobs

Plány úloh umožňují vytvořit opakované úlohy v rámci služby Batch.Job schedules enable you to create recurring jobs within the Batch service. Plán úloh určuje, kdy spustit úlohy a obsahuje specifikace pro úlohy, které mají být spuštěny.A job schedule specifies when to run jobs and includes the specifications for the jobs to be run. Můžete zadat dobu trvání plánu (jak dlouho a kdy je plán v platnosti) a jak často se úlohy vytvářejí během naplánovaného období.You can specify the duration of the schedule (how long and when the schedule is in effect) and how frequently jobs are created during the scheduled period.

ÚlohyTasks

Úkol je jednotka výpočtu, která je přidružena k úloze.A task is a unit of computation that is associated with a job. Běží na uzlu.It runs on a node. Úkoly jsou přiřazeny k uzlu pro provádění nebo jsou zařazeny do fronty, dokud se uzel neuvolní.Tasks are assigned to a node for execution, or are queued until a node becomes free. Jednoduše řečeno, úkol spustí na výpočetním uzlu jeden nebo více programů nebo skriptů k provedení potřebné práce.Put simply, a task runs one or more programs or scripts on a compute node to perform the work you need done.

Při vytvoření úkolu můžete zadat:When you create a task, you can specify:

  • Příkazový řádek pro úkol.The command line for the task. Toto je příkazový řádek, kterým se na výpočetním uzlu spouští vaše aplikace nebo skript.This is the command line that runs your application or script on the compute node.

    Je důležité si uvědomit, že příkazový řádek se v prostředí nespustí.It is important to note that the command line does not run under a shell. Proto nemůže nativně využívat funkce shellu, jako například rozšíření proměnné prostředí (sem patří i PATH).Therefore, it cannot natively take advantage of shell features like environment variable expansion (this includes the PATH). Chcete-li využít výhod těchto funkcí, je nutné vyvolat prostředí z příkazového řádku, například spuštěním cmd.exe v uzlech systému Windows nebo /bin/sh na systému Linux:To take advantage of such features, you must invoke the shell in the command line, such as by launching cmd.exe on Windows nodes or /bin/sh on Linux:

    cmd /c MyTaskApplication.exe %MY_ENV_VAR%

    /bin/sh -c MyTaskApplication $MY_ENV_VAR

    Pokud vaše úkoly potřebují spustit aplikaci nebo skript, které nejsou v PATH uzlu nebo v referenčních proměnných prostředí, vyvolejte shell explicitně v příkazovém řádku úkolu.If your tasks need to run an application or script that is not in the node's PATH or reference environment variables, invoke the shell explicitly in the task command line.

  • Soubory prostředků obsahující data, která mají být zpracována.Resource files that contain the data to be processed. Tyto soubory se před provedením příkazového řádku úkolu automaticky zkopírují do uzlu z úložiště objektů blob v účtu Azure Storage.These files are automatically copied to the node from Blob storage in an Azure Storage account before the task's command line is executed. Další informace najdete v tématu spuštění úlohy a souborů a adresářů.For more information, see Start task and Files and directories.

  • Proměnné prostředí, které jsou požadovány příslušnou aplikací.The environment variables that are required by your application. Další informace najdete v tématu nastavení prostředí pro úlohy.For more information, see Environment settings for tasks.

  • Omezení, za kterých by měl být proveden úkol.The constraints under which the task should execute. Mezi omezení patří například: maximální doba, po kterou smí úkol běžet, maximální počet pokusů o opakování neúspěšného úkolu a maximální doba, po kterou jsou zachovány soubory v pracovním adresáři úkolu.For example, constraints include the maximum time that the task is allowed to run, the maximum number of times a failed task should be retried, and the maximum time that files in the task's working directory are retained.

  • Balíčky aplikací pro nasazení do výpočetního uzlu, na kterém je naplánováno spuštění úkolu.Application packages to deploy to the compute node on which the task is scheduled to run. Balíčky aplikací poskytují zjednodušené nasazení a správu verzí aplikací, které vaše úkoly spouštějí.Application packages provide simplified deployment and versioning of the applications that your tasks run. Balíčky aplikací na úrovni úkolů jsou zvláště užitečné v prostředích sdíleného fondu, kde se různé úlohy spouštějí v jednom fondu a kde se fond po dokončení úlohy neodstraňuje.Task-level application packages are especially useful in shared-pool environments, where different jobs are run on one pool, and the pool is not deleted when a job is completed. Pokud má vaše úloha méně úkolů, než je uzlů ve fondu, balíčky aplikací úkolů můžou omezit přenosy dat, protože se aplikace může nasadit jen na uzly, které úkoly budou skutečně provádět.If your job has fewer tasks than nodes in the pool, task application packages can minimize data transfer since your application is deployed only to the nodes that run tasks.

  • Odkaz na image kontejneru v Docker Hubu nebo privátním registru a další nastavení pro vytvoření kontejneru Dockeru, ve kterém se bude spouštět úloha na uzlu.A container image reference in Docker Hub or a private registry and additional settings to create a Docker container in which the task runs on the node. Tyto údaje zadáváte pouze v případě, že je ve fondu nastavená konfigurace kontejneru.You only specify this information if the pool is set up with a container configuration.

Poznámka

Maximální doba života úkolu, od kdy se přidá do úlohy po jeho dokončení, je 180 dní.The maximum lifetime of a task, from when it is added to the job to when it completes, is 180 days. Dokončené úlohy trvají po dobu 7 dnů. data pro úlohy, které nejsou dokončená v rámci maximální doby života, nejsou dostupná.Completed tasks persist for 7 days; data for tasks not completed within the maximum lifetime is not accessible.

Kromě úloh, které definujete pro provádění výpočtů na uzlu, služba Batch taky poskytuje několik zvláštních úloh:In addition to tasks you define to perform computation on a node, several special tasks are also provided by the Batch service:

Spouštěcí úkolStart task

Přidružením spouštěcího úkolu k fondu můžete připravit provozní prostředí jeho uzlů.By associating a start task with a pool, you can prepare the operating environment of its nodes. Můžete například provádět akce, jako je instalace aplikací, které vaše úkoly spouštějí, nebo spouštění procesů na pozadí.For example, you can perform actions such as installing the applications that your tasks run, or starting background processes. Spouštěcí úkol se spustí při každém spuštění uzlu, a to tak dlouho, dokud zůstává ve fondu.The start task runs every time a node starts, for as long as it remains in the pool. To zahrnuje, kdy se uzel poprvé přidá do fondu a když se restartuje nebo obnoví z image.This includes when the node is first added to the pool and when it is restarted or reimaged.

Hlavní výhodou spouštěcího úkolu je, že obsahuje všechny informace potřebné ke konfiguraci výpočetního uzlu a instalaci aplikací nezbytných k provádění úkolu.A primary benefit of the start task is that it can contain all the information necessary to configure a compute node and install the applications required for task execution. Proto je navýšení počtu uzlů ve fondu pouze otázkou zadání nového cílového počtu uzlů.Therefore, increasing the number of nodes in a pool is as simple as specifying the new target node count. Spouštěcí úkol poskytuje informace potřebné ke konfiguraci nových uzlů služby Batch a jejich přípravě na přijetí úkolů.The start task provides the information needed for the Batch service to configure the new nodes and get them ready for accepting tasks.

Stejně jako u každého úkolu služby Azure Batch můžete také zadat seznam souborů prostředků ve službě Azure Storage (vedle příkazového řádku, který se má provést).As with any Azure Batch task, you can specify a list of resource files in Azure Storage, in addition to a command line to be executed. Služba Batch nejprve zkopíruje soubory prostředků ze služby Azure Storage do uzlu a pak spustí příkazový řádek.The Batch service first copies the resource files to the node from Azure Storage, and then runs the command line. U spouštěcího úkolu fondu obsahuje seznam souborů obvykle aplikaci úkolu a její závislosti.For a pool start task, the file list typically contains the task application and its dependencies.

Spouštěcí úkol ale může obsahovat také referenční data, která budou k dispozici k použití ve všech úkolech spouštěných na výpočetním uzlu.However, the start task could also include reference data to be used by all tasks that are running on the compute node. Například příkazový řádek spouštěcího úkolu může provést robocopy operaci kopírování souborů aplikace (které byly zadány jako soubory prostředků a staženy do uzlu) z pracovního adresáře spouštěcího úkolu do sdílené složky a potom spustit soubor MSI nebo setup.exe .For example, a start task's command line could perform a robocopy operation to copy application files (which were specified as resource files and downloaded to the node) from the start task's working directory to the shared folder, and then run an MSI or setup.exe.

Obvykle je žádoucí, aby služba Batch čekala na dokončení spouštěcího úkolu předtím, než bude uzel považovat za připravený k přiřazení úkolů, ale tuto možnost lze nakonfigurovat.It is typically desirable for the Batch service to wait for the start task to complete before considering the node ready to be assigned tasks, but you can configure this.

Pokud na výpočetním uzlu selže spouštěcí úkol, je stav tohoto uzlu aktualizován, aby odrážel selhání, a uzlu se nepřiřazují žádné úlohy.If a start task fails on a compute node, then the state of the node is updated to reflect the failure, and the node is not assigned any tasks. Spouštěcí úkol může selhat, jestliže se vyskytl problém s kopírováním jeho souborů prostředků z úložiště nebo pokud proces spuštěný pomocí jeho příkazového řádku vrátí nenulový ukončovací kód.A start task can fail if there is an issue copying its resource files from storage, or if the process executed by its command line returns a nonzero exit code.

Pokud přidáváte nebo aktualizujete spouštěcí úkol pro už existující fond, musíte restartovat jeho výpočetní uzly, aby se na nich spouštěcí úkol provedl.If you add or update the start task for an existing pool, you must reboot its compute nodes for the start task to be applied to the nodes.

Poznámka

Batch omezuje celkovou velikost spouštěcího úkolu, což zahrnuje soubory prostředků i proměnné prostředí.Batch limits the total size of a start task, which includes resource files and environment variables. Pokud potřebujete zmenšit velikost spouštěcího úkolu, můžete použít jednu ze dvou následujících metod:If you need to reduce the size of a start task, you can use one of two approaches:

  1. K distribuci aplikací nebo dat napříč všemi uzly ve fondu Batch můžete použít balíčky aplikací.You can use application packages to distribute applications or data across each node in your Batch pool. Další informace o balíčcích aplikací najdete v tématu Nasazení aplikací do výpočetních uzlů pomocí balíčků aplikací služby Batch.For more information about application packages, see Deploy applications to compute nodes with Batch application packages.

  2. Můžete ručně vytvořit komprimovaný archiv obsahující vaše soubory aplikací.You can manually create a zipped archive containing your applications files. Tento komprimovaný archiv potom uložte do služby Azure Storage jako objekt blob.Upload your zipped archive to Azure Storage as a blob. Zadejte tento komprimovaný archiv jako soubor prostředků pro spouštěcí úkol.Specify the zipped archive as a resource file for your start task. Před spuštěním příkazového řádku pro spouštěcí úkol rozbalte archiv z příkazového řádku.Before you run the command line for your start task, unzip the archive from the command line.

    K rozbalení archivu můžete použít archivační nástroj podle vašeho výběru.To unzip the archive, you can use the archiving tool of your choice. Nástroj, který použijete k rozbalení archivu, budete muset zahrnout jako soubor prostředků pro tento spouštěcí úkol.You will need to include the tool that you use to unzip the archive as a resource file for the start task.

Úkol správce úlohJob manager task

Úkol správce úloh se obvykle používá k řízení nebo monitorování provádění úlohy.You typically use a job manager task to control and/or monitor job execution. Například úlohy Správce úloh se často používají k vytvoření a odeslání úkolů pro úlohu, určení dalších úkolů ke spuštění a určení, kdy se práce dokončila.For example, job manager tasks are often used to create and submit the tasks for a job, determine additional tasks to run, and determine when work is complete.

Úkol správce úloh však není omezen na tyto aktivity.However, a job manager task is not restricted to these activities. Jedná se o úplný podrobnějším úkol, který může provádět všechny akce, které jsou pro úlohu nutné.It is a full-fledged task that can perform any actions that are required for the job. Úkol správce úloh může například stáhnout soubor zadaný jako parametr, analyzovat obsah tohoto souboru a odeslat další úkoly na základě těchto obsahů.For example, a job manager task might download a file that is specified as a parameter, analyze the contents of that file, and submit additional tasks based on those contents.

Úkol správce úloh je spuštěn před všemi ostatními úkoly.A job manager task is started before all other tasks. Má následující funkce:It provides the following features:

  • Je službou Batch automaticky odeslán jako úkol při vytvoření úlohy.It is automatically submitted as a task by the Batch service when the job is created.
  • Je naplánován ke spuštění před dalšími úkoly v rámci úlohy.It is scheduled to execute before the other tasks in a job.
  • Jeho přidružený uzel je poslední, který se odebere z fondu, když je fond zmenšován.Its associated node is the last to be removed from a pool when the pool is being downsized.
  • Jeho ukončení může být vázáno na ukončení všech úkolů v úloze.Its termination can be tied to the termination of all tasks in the job.
  • Úkolu správce úloh je přiřazena nejvyšší priorita, když je nutné jej restartovat.A job manager task is given the highest priority when it needs to be restarted. Pokud není k dispozici nečinný uzel, může služba Batch ukončit jeden z ostatních spuštěných úkolů ve fondu, aby uvolnila prostor pro spuštění úkolu správce úloh.If an idle node is not available, the Batch service might terminate one of the other running tasks in the pool to make room for the job manager task to run.
  • Úkol správce úloh v jedné úloze nemá přednost před úkoly jiných úloh.A job manager task in one job does not have priority over the tasks of other jobs. Mezi úlohami jsou dodržovány pouze priority s úrovní úlohy.Across jobs, only job-level priorities are observed.

Úkoly přípravy a uvolnění úlohJob preparation and release tasks

Batch poskytuje úlohy přípravy úloh pro nastavení spuštění před úlohou a úlohy uvolnění úloh pro údržbu nebo čištění po úloze.Batch provides job preparation tasks for pre-job execution setup, and job release tasks for post-job maintenance or cleanup.

Úkol přípravy úlohy se spustí na všech výpočetních uzlech, které mají naplánované spouštění úkolů, před provedením jakékoli jiné úlohy úlohy.A job preparation task runs on all compute nodes that are scheduled to run tasks, before any of the other job tasks are executed. Úkol přípravy úlohy můžete například použít ke zkopírování dat, která jsou sdílena všemi úkoly, ale jsou jedinečná pro úlohu.For example, you can use a job preparation task to copy data that is shared by all tasks, but is unique to the job.

Po dokončení úlohy se na každém uzlu ve fondu, který spustil alespoň jeden úkol, spustí úkol uvolnění úlohy.When a job has completed, a job release task runs on each node in the pool that executed at least one task. Například úkol uvolnění úlohy může odstranit data, která byla zkopírována úlohou přípravy úlohy nebo může komprimovat a odeslat data protokolu diagnostiky.For example, a job release task can delete data that was copied by the job preparation task, or it can compress and upload diagnostic log data.

Úkoly přípravy i uvolnění úloh umožňují zadat příkazový řádek, který se provede, když je úkol vyvolán.Both job preparation and release tasks allow you to specify a command line to run when the task is invoked. Nabízejí funkce, jako například stahování souborů, provádění se zvýšenými oprávněními, vlastní proměnné prostředí, maximální dobu provádění, počet opakování a dobu uchovávání souboru.They offer features like file download, elevated execution, custom environment variables, maximum execution duration, retry count, and file retention time.

Další informace ohledně úkolů přípravy a uvolnění úloh najdete v části Spouštění úkolů přípravy a dokončení úlohy na výpočetních uzlech Azure Batch.For more information on job preparation and release tasks, see Run job preparation and completion tasks on Azure Batch compute nodes.

Úkoly s více instancemiMulti-instance task

Úkol s více instancemi je úkol, který je nakonfigurován, aby byl současně spuštěn na více než jednom výpočetním uzlu.A multi-instance task is a task that is configured to run on more than one compute node simultaneously. Pomocí úkolů s více instancemi můžete povolit vysoce výkonné výpočetní scénáře, které vyžadují skupinu výpočetních uzlů, které jsou přiděleny společně pro zpracování jedné úlohy, jako je například rozhraní předávání zpráv (MPI).With multi-instance tasks, you can enable high-performance computing scenarios that require a group of compute nodes that are allocated together to process a single workload, such as Message Passing Interface (MPI).

Podrobné informace o spouštění úloh MPI ve službě Batch pomocí knihovny Batch .NET najdete v článku Použití úkolů s více instancemi ke spouštění aplikací rozhraní MPI (Message Passing Interface) v Azure Batch.For a detailed discussion on running MPI jobs in Batch by using the Batch .NET library, check out Use multi-instance tasks to run Message Passing Interface (MPI) applications in Azure Batch.

Závislosti úkolůTask dependencies

Závislosti úkolů, jak již název napovídá, umožňují určit, jestli úkol závisí před svým spuštěním na dokončení jiných úkolů.Task dependencies, as the name implies, allow you to specify that a task depends on the completion of other tasks before its execution. Tato funkce poskytuje podporu pro situace, ve kterých "podřízený" úkol spotřebovává výstup "nadřazeného" úkolu nebo když nadřazený úkol provádí inicializaci, která je požadovaná podřízeným úkolem.This feature provides support for situations in which a "downstream" task consumes the output of an "upstream" task, or when an upstream task performs some initialization that is required by a downstream task.

Chcete-li použít tuto funkci, musíte nejprve Povolit závislosti úkolů na úloze služby Batch.To use this feature, you must first enable task dependencies on your Batch job. Pak pro každý úkol, který závisí na jiném (nebo mnoha jiných), zadáte úkoly, na kterých tento úkol závisí.Then, for each task that depends on another (or many others), you specify the tasks which that task depends on.

Pomocí závislosti úkolů lze nakonfigurovat například následující scénáře:With task dependencies, you can configure scenarios like the following:

  • úkolb závisí na úloze a (úkolb se nespustí, dokud se nedokončí úkol ).taskB depends on taskA (taskB will not begin execution until taskA has completed).
  • Úkol C závisí na úkolu A i úkolu B.taskC depends on both taskA and taskB.
  • úkol závisí na řadě úkolů, například na úkolech 110, než se spustí.taskD depends on a range of tasks, such as tasks 1 through 10, before it executes.

Další podrobnosti najdete v tématu závislosti úloh v Azure Batch a ukázka kódu TaskDependencies v úložišti GitHub Azure-Batch-Samples .For more details, see Task dependencies in Azure Batch and the TaskDependencies code sample in the azure-batch-samples GitHub repository.

Nastavení prostředí pro úlohyEnvironment settings for tasks

Každý úkol prováděný službou Batch má přístup k proměnným prostředí, které nastaví na výpočetních uzlech.Each task executed by the Batch service has access to environment variables that it sets on compute nodes. To zahrnuje proměnné prostředídefinované službou Batch (a vlastní proměnné prostředí, které můžete definovat pro vaše úkoly).This includes environment variables defined by the Batch service (service-defined and custom environment variables that you can define for your tasks. Aplikace a skripty zpracovávané vašimi úkoly mají během zpracování přístup k těmto proměnným prostředí.The applications and scripts your tasks execute have access to these environment variables during execution.

Vlastní proměnné prostředí můžete nastavit na úrovni úkolů či úloh tím, že vyplníte vlastnost nastavení prostředí pro tyto entity.You can set custom environment variables at the task or job level by populating the environment settings property for these entities. Další podrobnosti najdete v tématu věnovaném operaci Přidání úlohy do úlohy] (Batch REST API), nebo vlastností CloudTask. EnvironmentSettings a vlastnosti cloudjob. CommonEnvironmentSettings v dávce .NET.For more details, see the Add a task to a job] operation (Batch REST API), or the CloudTask.EnvironmentSettings and CloudJob.CommonEnvironmentSettings properties in Batch .NET.

Vaše klientská aplikace nebo služba může získat službou i uživatelem definované proměnné prostředí úkolu pomocí operace Získat informace o úkolu (Batch REST) nebo přístupem k vlastnosti CloudTask.EnvironmentSettings (Batch .NET).Your client application or service can obtain a task's environment variables, both service-defined and custom, by using the Get information about a task operation (Batch REST) or by accessing the CloudTask.EnvironmentSettings property (Batch .NET). Procesy prováděné na výpočetním uzlu mohou také přistupovat k těmto i ostatním proměnným prostředí na uzlu například pomocí známé syntaxe %VARIABLE_NAME% (Windows) nebo $VARIABLE_NAME (Linux).Processes executing on a compute node can access these and other environment variables on the node, for example, by using the familiar %VARIABLE_NAME% (Windows) or $VARIABLE_NAME (Linux) syntax.

Úplný seznam všech proměnných prostředí definovaných službou najdete v článku Proměnné prostředí výpočetního uzlu.You can find a full list of all service-defined environment variables in Compute node environment variables.

Další krokyNext steps