Azure Container App Job not showing recent execution history

Asa Xiao 30 Reputation points

I have a scheduled job that runs periodically Monday to Friday. Until recently, the Execution history in the Azure Portal showed the expected recent runs. However, starting sometime this week, the execution history appears to be stuck. The latest execution shown in the portal is from 2026-05-29, and az containerapp job execution list also does not show any executions after that date.

However, the job itself appears to still be running correctly. I can see current runs after 2026-05-29 in Log Analytics using this query:

ContainerAppSystemLogs_CL | where JobName_s == "<job-name>" | where TimeGenerated > ago(30d) | order by TimeGenerated desc

So the situation seems to be:

  • The scheduled job is still running.
  • Log Analytics shows system logs for recent runs after 2026-05-29.
  • Azure Portal Execution History does not show those recent runs.
  • Azure CLI az containerapp job execution list also does not show those recent runs.
  • The issue started recently; last week the portal still showed June executions correctly.

Has anyone seen this before with Azure Container Apps Jobs? Is this an Azure internal issue? I also tried to use the Diagnose tool (Availability and Performance) to solve the issue, but it always returns "An error has occurred. Please refresh and try again."

  1. Pravallika KV 17,025 Reputation points Microsoft External Staff Moderator

    Hi @Asa Xiao ,

    Here are the key points an engineer can use publicly:

    • Azure Container Apps Jobs keep a history of recent job executions, which you can view:
    • in the Azure Portal (under your job’s Monitoring → Execution history), and
      • via Azure CLI using az containerapp job execution list, or
      • via ARM/REST using the job’s executions operation.
    • The execution history shown in the portal for scheduled and event-based jobs is limited to the most recent 100 successful and failed job executions.

    So, in normal conditions, the CLI/portal should still reflect the latest runs among the most recent executions (up to that limit), while the detailed logs/output are obtained from the logging provider configured for the Container Apps environment (typically Log Analytics).

    Why portal/CLI could appear “stuck” while Log Analytics still shows runs?

    • Execution history (portal/CLI) = “status of recent executions” (and limited by the most recent 100 successful/failed runs).
    • Logs = detailed run output written to the logs provider configured for the environment, which you can query in Log Analytics.

    Given your symptom pattern (portal + CLI not updating, but Log Analytics has new system logs), the most likely explanation to check is whether the “execution history” data isn’t being updated/returned as expected even though the job containers are still executing and writing logs.

    Try below steps:

    1. Confirm you’re querying the right logs tables/providers
      • The docs show example queries against:
        • ContainerAppConsoleLogs_CL (console logs),
      • and mention that job run logs are stored in the logging provider configured for the Container Apps environment (default is Log Analytics).
      • Your query uses ContainerAppSystemLogs_CL that can be useful, but it’s worth also checking ContainerAppConsoleLogs_CL using the job run/container group name pattern shown in the docs.
      Example from docs (adapted):
      
       let job = "<myjob>";
      
       ContainerAppConsoleLogs_CL
      
       | where ContainerJobName_s =~ job
      
       | project TimeGenerated, Log_s, ContainerGroupName_s, EnvironmentName_s
      
       | order by TimeGenerated asc
      
      
    2. Use CLI/REST to validate what the service thinks the “execution history” is
      • CLI:
        
         az containerapp job execution list --name "<job-name>" --resource-group "<rg>"
        
        
      • REST:
        • GET .../Microsoft.App/jobs/{job}/executions?api-version=2023-05-01
      If those also stop advancing at the same point as the portal, that points more strongly to an execution-history reporting/metadata issue (as opposed to just a UI/logging query mismatch).
    3. Consider the “most recent 100 successful/failed executions” limit
      • If the job has a lot of runs and/or changes behavior, it’s possible that the portal’s limited execution-history set isn’t reflecting what you expect (though your issue sounds like it stopped updating entirely after a date, which is less typical).
    4. Diagnose tool error
      • The docs provided don’t include guidance for the “Diagnose tool (Availability and Performance) returns an error has occurred” scenario for Jobs specifically, so there isn’t enough documented info here to pinpoint that part.
  2. Asa Xiao 30 Reputation points

    Thanks for your reply @Pravallika KV .

    ContainerAppConsoleLogs_CL does return logs for the most recent runs in June, and those were successful runs.

    However the CLI az containerapp job execution list --name "<job-name>" --resource-group "<rg>" only returns runs in May. The job name and resource group name are identical in both queries.

  3. Pravallika KV 17,025 Reputation points Microsoft External Staff Moderator

    Hi @Asa Xiao , I've reached out to over private message, please check and respond.


Sign in to comment

Answer accepted by question author

Pravallika KV 17,025 Reputation points Microsoft External Staff Moderator

Hi @Asa Xiao ,

This behavior has been confirmed as a product defect in the Container Apps Job execution-history read path. Engineering has identified the root cause, and the recommended long-term fix is to sort executions by start time before applying pagination, along with proper paging support across Portal and API experiences.

Hotfix to resolve the product bug is in progress ETA 3days.

Until the platform fix is deployed, you can use the following methods to monitor all executions:

1. Use Azure Monitor / Log Analytics Logs

The logs continue to show all executions correctly. You can query:

  • ContainerAppConsoleLogs_CL
  • Container Apps system logs

to view the complete execution history.

2. Use CLI or REST API with Pagination

When retrieving job executions through Azure CLI or REST API, ensure all continuation pages are queried rather than relying on only the first page of results. This will return the full execution history.

Hope this helps!


If the resolution was helpful, kindly take a moment to click on 👁 User's image
and click on Yes for was this answer helpful. And, if you have any further query do let us know.

0 comments No comments

Sign in to comment

Answer accepted by question author

Jose Benjamin Solis Nolasco 8,561 Reputation points Volunteer Moderator

Welcome to Microsoft Q&A,

Hello Asa Xiao, I hope you are doing well,

Thank you for providing such thorough troubleshooting details. Because you have already verified that ContainerAppConsoleLogs_CL is actively recording successful runs in June, you have definitively proven that your job is executing perfectly on schedule.

What you are experiencing is a known desynchronization issue between the Azure Container Apps Data Plane (which runs the containers and pushes logs) and the Control Plane (which updates the Azure Resource Manager metadata for the Portal and CLI).

Under the hood, the infrastructure successfully spins up the container based on your cron schedule, but the internal component responsible for reporting that execution status back to the Azure Portal/CLI has frozen or dropped the messages. This is also exactly why the Diagnose tool is returning an error—the control plane cannot retrieve the metadata state for your resource.

Because this is a backend lock, you cannot fix the broken sync from the portal UI directly, but you can try to force the state to refresh.

Sometimes, forcing the Azure Resource Manager (ARM) to update the job's configuration will restart the underlying sync controller and unstick your execution history.

  • Go to your Container App Job in the Azure Portal.
  • Navigate to Configuration > Environment variables.
  • Add a harmless dummy variable (e.g., Name: FORCE_SYNC, Value: TRUE).
  • Click Apply and Save.
  • Alternatively, you can manually trigger a run of the job by clicking Run now to see if a manual trigger clears the queue.

😊 If my answer helped you resolve your issue, please consider marking it as the correct answer. This helps others in the community find solutions more easily. Thanks!

  1. Asa Xiao 30 Reputation points

    Thank you @Jose Benjamin Solis Nolasco .

    I tried to add an environment variable and manually trigger a run, didn't fix the issue. Should I wait for Azure to fix it (will they?), or recreate this job?

  2. Jose Benjamin Solis Nolasco 8,561 Reputation points Volunteer Moderator

    @Asa Xiao I definitely do not recommend waiting for Azure to fix it on its own. Because your job is technically still running perfectly in the background, this glitch won't trigger any critical alarms on Microsoft's end. This means it could take a very long time for a backend update to organically fix your dashboard.

    You should recreate the Container App Job. Provisioning a new job will generate a fresh Azure Resource ID and bind it to a completely new metadata tracking queue, instantly resolving the reporting issue.

    To make this seamless, you can dump your existing configuration to a YAML file, delete the job, and redeploy it:

    az containerapp job show --name <job-name> --resource-group <rg> -o yaml > job.yaml
    

    (Just remember to strip out any system-assigned properties like provisioningState before redeploying!)

  3. Jose Benjamin Solis Nolasco 8,561 Reputation points Volunteer Moderator

    @Asa Xiao anything else i can assist you?

    If my answer helped you resolve your issue, please consider marking it as the correct answer. This helps others in the community find solutions more easily. Thanks!


Sign in to comment

0 additional answers

Sign in to answer

Your answer