-
Notifications
You must be signed in to change notification settings - Fork 442
Investigating and reporting issues with timer triggered functions not firing
If you're in a situation where you have a timer triggered function that is either not firing at all, or not firing at the right times, there are a few things to look at.
If it's in an App Service Plan, you need to make sure that Always On is enabled. It is enabled by default on Function Apps, but it's good to double check.
In Consumption mode, there is no such thing as Always On. Instead, your Function App should be automatically woken up when a timer is due. For this to work, your triggers need to be 'synced', which normally happens automatically in various scenarios:
- If you're using the portal to make a change to a function
- If you deploy your Function App using msdeploy, Kudu git deploy, or Kudu's zipdeploy (
/api/zipdeploy
) - If you click the little Refresh icon next to your Function App name in the Portal
Note that triggers do not get synced if you:
- Upload files using FTP
- Manually change files using App Service Editor
- Upload files using the zip API (
/api/zip
). This is not a supported deployment API. Do not try to use it for your function files!
Also note that if you are deploying from VSTS, it might be using one of the options mentioned above that do not sync. Check your deployment configuration - you might need to enable webdeploy (aka msdeploy):
By default, the schedule uses UTC time, so be aware of this when setting a daily schedule (it doesn't matter if it fires hourly).
You can change this to us a specific time zone by setting WEBSITE_TIME_ZONE
. See here for more info.
By default, logs to app insights (what drives the Monitor tab in the portal) has sampling enabled. It's very possible your function is triggering but the logs are being sampled. You can always configure sampling for your app, or use the customMetrics table which has aggregations that will be accurate of executions regardless of sampling.
There are some additional troubleshooting details here.
If you cannot figure out the problem, you can get help on StackOverflow or on the Functions Forum. Please make sure to include the following information so we can help you more efficiently:
- Are you using Consumption or App Service Plan
- If Consumption, how did you deploy? If App Service Plan, do you have Always On enabled?
- Are you using the v1 runtime, or the v2 (Preview) runtime?
- Are you setting
WEBSITE_TIME_ZONE
? - What is your CRON expression set to, and what is your expectation about what it means. e.g. state "I expect it to fire every thursday at 14:17". In some cases, users just misunderstand the CRON syntax, and have incorrect expectations about the semantics of a particular expression.
- Give a specific UTC time at which you expected your function to get called, and found that it wasn't. Also, explain how you are determining that it is not getting called. If some cases, the function may get called, but it may not be obvious due to some logging issue.
- And most importantly, include a sample invocation ID so we can find your app and look into the issue. Follow these instructions to see how to share this.
- Configuration Settings
- function.json
- host.json
- host.json (v2)
- Http Functions
- Function Runtime Versioning
- Official Functions developers guide
- Host Health Monitor
- Managing Connections
- Renaming a Function
- Retrieving information about the currently running function
- Site Extension Resolution
- Linux Consumption Regions
- Using LinuxFxVersion for Linux Function apps
- Out-of-proc Cancellation Tokens
- Assembly Resolution in Azure Functions
- ILogger
- Precompiled functions
- Official Functions C# developer reference
- Contributor Onboarding
- Development Process
- Deploying the Functions runtime as a private site extension
- Authoring & Testing Language Extensions
- Bindings in out-of-proc
- Language Extensibility
- Worker Capabilities
- Investigating and reporting issues with timer triggered functions not firing
- Sharing Your Function App name privately
- Azure Functions CLI release notes [moved here]
- Function App Zipped Deployment [deprecated]