Azure / Azure/azure-functions-host
Function App on TimerTrigger does not fire on the hour every hour
- Dominant language
- C#
- Stars
- 2k
- Forks
- 482
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 38
Description
We have a function set to run on a timer trigger on the hour; however some hours it fires a few seconds early and other hours it does not fire at all as can be seen in this screenshot, you can see that nothing was fired at all at 21:00 last night, or 1am or 8am this morning
We are relying on this firing accurately on the hour, even if its a few seconds late is okay so long as its on the hour before the minute past; but certainly not early or missing completely.
We are running the app in our App Service Environment and it is set to "Always On".

#### Investigative information
Please provide the following:
- Timestamp: 2022-03-22 21:00 / 2022-03-23 01:00 / 2022-03-23 05:00 / 2022-03-23 08:00
- Function App version: Runtime Version ~2
- Function App name: PawaDatabaseJobs
- Function name(s) (as appropriate): timed-exports
- Invocation ID: obviously havent got one for missing invocations, but here is one for one just before: `Executing 'Functions.timed-exports' (Reason='Timer fired at 2022-03-23T04:59:59.9963753+00:00', Id=d30761f4-cd5b-4b4f-9650-824ae31df011)`
- Region: North Europe
#### Repro steps
Not really reproducible, but you can see the issue in the screenshot and the bindings below.
#### Expected behavior
A timer trigger is fired on the hour every hour.
#### Actual behavior
The timer is not firing every hour and sometimes its a few seconds before, but the missing triggers are the most important.
#### Related information
Provide any related information
* Programming language used : Node
* Links to source
* Bindings used:
```json
"bindings": [
{
"name": "EveryHour",
"type": "timerTrigger",
"direction": "in",
"schedule": "0 0 * * * *"
}
],
```
Contributor guide
Research direction
Start with the timerTrigger binding and its schedule, `0 0 * * * *`, in the reported Node Function App running on runtime ~2. Review the invocation log around the listed timestamps and compare the missed and early firings, including the provided 04:59:59.9963753 entry. Done means the cause of missed or early hourly executions is identified and a verified fix or clear limitation is documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, node.js
- Domain
- backend, cloud
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100