|
| 1 | +--- |
| 2 | +title: "AZFD0015: Timer trigger schedule is not a CRON expression" |
| 3 | +titleSuffix: "Azure Functions" |
| 4 | +description: "Learn how to troubleshoot the event 'AZFD0015: Timer trigger schedule is not a CRON expression' in Azure Functions." |
| 5 | +ms.topic: error-reference |
| 6 | +ms.date: 02/10/2026 |
| 7 | + |
| 8 | +--- |
| 9 | + |
| 10 | +# AZFD0015: Timer trigger schedule is not a CRON expression |
| 11 | + |
| 12 | +This event occurs when the schedule for an Azure Functions Timer trigger running in a Consumption or Flex Consumption plan is configured with a non-CRON expression (such as a `TimeSpan`). For these hosting plans, the scale controller only supports CRON expressions. |
| 13 | + |
| 14 | +| | Value | |
| 15 | +|-|-| |
| 16 | +| **Event ID** |AZFD0015| |
| 17 | +| **Severity** |Warning| |
| 18 | + |
| 19 | +## Event description |
| 20 | + |
| 21 | +Timer triggers support both [CRON expressions][cron] and constant interval expressions (such as `TimeSpan` values like `"00:05:00"`). However, the scale controller used by the Consumption and Flex Consumption plans can only interpret CRON expressions. When a non-CRON schedule is used when hosted on these plans, the timer trigger starts and fires correctly, but the scale controller can't interpret the schedule. This behavior can lead to unexpected scaling behavior. |
| 22 | + |
| 23 | +This warning currently applies to Consumption plan apps running on Linux. For Consumption plan apps running on Windows and apps hosted in a Flex Consumption plan, non-CRON expressions are blocked entirely, which results in a startup error. |
| 24 | + |
| 25 | +## How to resolve the event |
| 26 | + |
| 27 | +Replace the schedule expression for your Timer trigger with an equivalent CRON expression. CRON expressions can use either five fields (minute granularity) or six fields (second granularity). |
| 28 | + |
| 29 | +For example, instead of a `TimeSpan` of `"00:05:00"` (every 5 minutes), use the CRON expression `"0 */5 * * * *"` (6-digit) or `"*/5 * * * *"` (5-digit). |
| 30 | + |
| 31 | +For more information on CRON expressions in Azure Functions, see [NCRONTAB expressions][cron] in the Timer trigger reference. |
| 32 | + |
| 33 | +## When to suppress the event |
| 34 | + |
| 35 | +This event shouldn't be suppressed. While the timer fires correctly today, the scale controller can't interpret non-CRON schedules, which can cause scaling issues. Migrating to a CRON expression ensures correct behavior. |
| 36 | + |
| 37 | +[cron]: /azure/azure-functions/functions-bindings-timer#ncrontab-expressions |
| 38 | +[timer-trigger]: /azure/azure-functions/functions-bindings-timer |
0 commit comments