Currently batch time is confusing, because it is based on when the previous run of a variant occurred. This means that if a variant has a 24-hour batch time, and it previously ran at 3am every night, if someone schedules a variant at 12pm, batch time will switch to when this variant runs.
To accomplish this I believe we will need to do two things. If this seems like more than 4 points of work, the implementer of this ticket should split one of the below into a separate ticket:
- Support a cron-like syntax in the project file. There is likely a library for this.
- Add support for this cron-like behavior to the version activation catchup job.
The docs for this should include that this behavior is the time zone of the Evergreen app servers, i.e., UTC.