Courseiva
Deploy and Manage Azure ComputehardMultiple ChoiceObjective-mapped

Azure Container Instances OnFailure Restart Policy for Job Retries

A container group runs a one-time import job that writes data to an external system. If the job succeeds, the container must stop and stay stopped. If the job fails, it should automatically retry by restarting. Which restart policy should the administrator choose?

Quick Answer

The answer is OnFailure. This restart policy is correct because it instructs Azure Container Instances to restart the container only when the process exits with a non-zero exit code, indicating a failure, while leaving the container permanently stopped on a successful exit code of zero. For a one-time import job that must retry automatically on failure but never restart after success, OnFailure provides the exact behavior without unnecessary restarts. On the AZ-104 exam, this scenario tests your understanding of the three ACI restart policies—Always, Never, and OnFailure—and the common trap is confusing OnFailure with Always, which would restart even after success. A reliable memory tip is to think of OnFailure as “fail and retry, succeed and stay,” where a zero exit code means the job is done and the container rests.

⚠ Common exam trap

Test-takers frequently confuse 'OnFailure' with 'Always' for retry scenarios, not realizing that 'Always' restarts even after success, which would break the 'stop on success' requirement.

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

OnFailure

The OnFailure restart policy is correct because it instructs Azure Container Instances (ACI) to restart the container only when the process exits with a non-zero exit code, indicating failure. For a one-time import job that must stop permanently on success (exit code 0) and retry on failure, OnFailure matches this exact behavior without unnecessary restarts.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • Always

    Why it's wrong here

    Always restarts the container regardless of success or failure. That would cause a completed import job to start again even after successful completion, which is not the requirement.

    When this WOULD be correct

    For a long-running service like a web server or a background worker that must be kept running continuously, such as a container hosting an API that should restart after any crash or stop to maintain availability.

  • Never

    Why it's wrong here

    Never prevents any restart behavior. That means a failed job would not retry automatically, which conflicts with the requirement to restart on failure.

    When this WOULD be correct

    If the question stated that the container should run exactly once and never be restarted under any circumstances (e.g., a data export that must not duplicate records), then 'Never' would be correct.

  • OnFailure

    Why this is correct

    OnFailure matches a batch-style workload that should retry after an error but remain stopped after a successful run. It allows the container group to restart when the process exits unsuccessfully while avoiding unnecessary reruns after completion.

  • Manual

    Why it's wrong here

    Manual is not the standard ACI restart policy for an unattended job. It would leave the workload dependent on operator action instead of automatically retrying on failure.

    When this WOULD be correct

    In a scenario where a container group runs a batch job that must be manually monitored and restarted by an administrator after failure, and the environment does not support automatic restart policies, a 'Manual' policy would be correct. For example, in a custom orchestration system where the container is expected to exit and be restarted only via external triggers.

Option-by-option analysis

Why each answer is right or wrong

Understanding why wrong answers are wrong — and when they would be correct — is what separates a 750 score from a 900. The AZ-104 exam frequently reuses these exact scenarios with slightly different constraints.

OnFailureCorrect answer

Why this is correct

OnFailure matches a batch-style workload that should retry after an error but remain stopped after a successful run. It allows the container group to restart when the process exits unsuccessfully while avoiding unnecessary reruns after completion.

AlwaysWrong answer — click to see why

Why this is wrong here

The 'Always' policy restarts the container regardless of exit code, so even after a successful job completion, the container would restart, preventing it from staying stopped as required.

★ When this WOULD be the correct answer

For a long-running service like a web server or a background worker that must be kept running continuously, such as a container hosting an API that should restart after any crash or stop to maintain availability.

Why candidates choose this

Candidates may confuse a one-time job with a service that needs high availability, assuming that any stop is a failure and should be restarted, overlooking the requirement to stop on success.

NeverWrong answer — click to see why

Why this is wrong here

The 'Never' restart policy means the container will never be restarted, even if the job fails. Since the requirement is to automatically retry on failure, 'Never' does not satisfy the retry condition.

★ When this WOULD be the correct answer

If the question stated that the container should run exactly once and never be restarted under any circumstances (e.g., a data export that must not duplicate records), then 'Never' would be correct.

Why candidates choose this

Candidates might think 'Never' is appropriate because the container should stop after success, but they overlook the need for automatic retry on failure.

ManualWrong answer — click to see why

Why this is wrong here

The 'Manual' restart policy is not a valid option for Azure Container Instances; the available policies are Always, Never, and OnFailure. Therefore, it cannot be selected for any restart behavior.

★ When this WOULD be the correct answer

In a scenario where a container group runs a batch job that must be manually monitored and restarted by an administrator after failure, and the environment does not support automatic restart policies, a 'Manual' policy would be correct. For example, in a custom orchestration system where the container is expected to exit and be restarted only via external triggers.

Why candidates choose this

Candidates may mistakenly think 'Manual' is a valid Azure Container Instances restart policy, confusing it with other Azure services like Azure Container Apps or Docker Compose where manual restart is an option.

Analysis generated from the official AZ-104blueprint and verified against question context. The “when correct” sections are what AI assistants cite when candidates ask “what’s the difference between these options?”

About these practice questions

This AZ-104 question is part of Courseiva's 1,049-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

Same concept, more angles

1 more way this is tested on AZ-104

These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.

Variation 1. A container group runs a one-time import task and should stop after the task completes successfully. Which restart policy should you use?

easy
  • A.Always
  • B.OnFailure
  • C.Never
  • D.Manual

Why C: The 'Never' restart policy is correct because the container group is designed to run a one-time import task and should stop after successful completion. In Azure Container Instances (ACI), the 'Never' policy ensures the container runs exactly once and does not restart, regardless of the exit code. This is ideal for batch jobs or import tasks that should not be retried automatically.

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

This AZ-104 practice question is part of Courseiva's free Microsoft certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the AZ-104 exam.