4.2.1.1. Gateway In Scheduling
This section details how the scheduler works and how execution duration impacts the frequency of your tasks.
Scheduling Logic
The Cron expression defines the theoretical trigger slots.
For example, a configuration of 0 0/5 4-23 ? * * * schedules an execution every 5 minutes from 04:00 to 23:59.
- 2026-03-12 04:00:00
- 2026-03-12 04:05:00
- 2026-03-12 04:10:00
- 2026-03-12 04:15:00
- 2026-03-12 04:20:00
[!IMPORTANT]
Minimum Interval Rule
On Babelway, a safety buffer of 5 minutes is enforced between the end of one execution and the start of the next. A task will never trigger if the interval since the completion of the previous task is less than 299 seconds.
Case Studies
The following table illustrates how processing time influences the next trigger:
| Start Time | Execution Duration | End Time | Next Theoretical Slot | Actual Trigger |
|---|---|---|---|---|
| 04:00:00 | < 1 sec | 04:00:00 | 04:05:00 | 04:05:00 (Buffer respected) |
| 04:00:00 | 4 min 26 s | 04:04:26 | 04:05:00 | 04:10:00 (04:05 is too close) |
| 10:15:13 | 8 min 16 s | 10:23:29 | 10:25:00 | 10:30:00 (10:25 is too close) |
Skipping Executions (Detailed Analysis)
If an execution is particularly long, several Cron slots may be skipped:
Start: 10:15:13.
Duration: 495,946 ms (~8 min 16 s).
Task End: 10:23:29.
Earliest Allowed Restart:
End time (10:23:29) + 5 minutes = 10:28:29.
The system will wait for the first available Cron slot after 10:28:29.
Result: The 10:20:00 and 10:25:00 executions are skipped. The system resumes at 10:30:00.
Best Practices
If you notice frequent skipped executions, we recommend:
Optimize Mapping: Reduce the processing time of your transformation logic.
Adjust Cron Intervals: Increase your Cron interval to better match the actual workload and avoid overlapping.
Data Filtering: Filter source data to reduce the volume processed in each batch.
Switch to "Push" Mode (Server-to-Babelway): Instead of having Babelway periodically fetch (pull) files from your server, configure your server to send (push) files to Babelway as soon as they are ready. This eliminates scheduling conflicts and ensures data is processed immediately without relying on a fixed Cron interval.