UPDATE August 1, 2022: The new jitter value has been rolled out to all existing Grid projects, and will be the default to all new Grid projects.
At Platform.sh, we are committed to making your site perform as best as possible.
As part of this commitment, we need to smooth down the system load spikes as much as possible—especially when many crons are triggered at the same time on a particular Grid region.
To do so, we are increasing the default cron jitter from five minutes to 20 minutes.
Wait, crons? Jitters? What is this change about?
In case you need a refresher, a cron is a command scheduler, allowing you to schedule commands at a given time or frequency.
And when a cron jitters, that means that prior to executing commands, the cron will sleep a random number of seconds in the range from 0 to the jitter maximum value.
A cron jittering at five minutes means that the cron can wait from zero to 5 minutes before executing the command (such as uploading data somewhere, or performing a check on a database).
So, with this new 20-minutes jitter, a cron defined to start at 2 p.m. in your
.platform.app.yaml as below:
crons: mycommand1: spec: '0 14 * * *' commands: start: myscript1
This cron will be triggered between 2 p.m. and 2:20 p.m. within your project timezone.
How does this benefit me and my organization?
This change improves the performance of overall applications by reducing spike loads during peak hours when lots of crons are running in parallel.
Additionally, the amount of resources consumed at the same time is reduced, which decreases our carbon footprint. That’s an extremely important benefit as it helps support our objective of becoming a greener hosting solution.
Who will be impacted by this new cron configuration?
This change will be transparent for the vast majority of Platform.sh projects, and all cron configurations will continue working the same way. So, most of you can keep on keeping on!
However, some extremely specific use cases can be impacted, especially if crons are required to be triggered at a very short time frame or if multiple crons rely on each other.
Following best practices should help you avoid such situations.
Please open a support ticket or consult our documentation to find out more about crons.
Cool! What’s the timeline on these changes?
This change will be gradually rolled out to all Grid projects in the upcoming weeks. Keep your eye on this post as we update it with the rollout schedule.