Trigger Cycle
A trigger cycle is when the polling service decides to execute a specific Trigger query on the target data store. This can be as frequently as every Polling Cycle, but can also be less frequently based on the number of records the trigger returned recently.
For example, if the Polling Cycle is 15 seconds: - Checks to see if there are any triggers due to be triggered - If there are, trigger these triggers - If no results from the trigger, delay the next trigger via a progressive backoff amount (calculated) to ensure it triggers less frequently - However, if results are found, a decision is made based on an algorithm to speed up the trigger cycle for this execution next time round.
Example
Polling Cycle is 15 seconds. This is for illustration purposes only. Actual Trigger Cycle frequency calculation is more complicated:
| Trigger Number | Polling Cycle | Results Returned | Next Trigger Cycle |
|---|---|---|---|
| 1 | 15s | 10 results | Next trigger during next Polling Cycle (15 seconds) |
| 2 | 15s | no results | No results returned this time, but some results returned recently, so next trigger in 30 seconds |
| 3 | 15s | no results | No results returned this time, but some results returned recently, so next trigger in 30 seconds |
| ... | |||
| x | 15s | no results | No results returned this time, and no recent results either, so next trigger in 120 seconds |
| x+1 | 15s | 10 results | Some results, but no other recent results, so next trigger in 60 seconds |
| x+2 | 15s | 1 results | Some results and some recent results, so next trigger during next Polling Cycle (15 seconds) |