Re: [PATCH 6/6] maintenance: use random minute in systemd scheduler
- From
Derrick Stolee <derrickstolee@github.com>
- Date
- Aug 8, 2023, 13:49 UTC
- Message-ID
- <2db943c3-2ec2-4b7e-a161-a7c9b3f04d36@github.com>
- In-Reply-To
- <ZNFinmsgDI7Upw60@nand.local>
On 8/7/2023 5:31 PM, Taylor Blau wrote:
> On Mon, Aug 07, 2023 at 06:51:40PM +0000, Derrick Stolee via GitGitGadget wrote:
Show 15 quoted lines
>> Modify the template with a custom schedule in the 'OnCalendar' setting. >> This schedule has some interesting differences from cron-like patterns, >> but is relatively easy to figure out from context. The one that might be >> confusing is that '*-*-*' is a date-based pattern, but this must be >> omitted when using 'Mon' to signal that we care about the day of the >> week. Monday is used since that matches the day used for the 'weekly' >> schedule used previously. > > I think the launchd version (which uses "0" for the day of the week) > runs on Sunday, if I remember correctly. I don't think that these two > necessarily need to run on the same day of the week when configured to > run weekly. > > But I figured I'd raise the question in case you did mean for them to > both run on either Sunday or Monday.
I don't intend to change the day that is run as part of this change.
I think all other schedulers run on Sunday, but systemd running on Monday is a particular detail of its "weekly" schedule.
Show 13 quoted lines
>> -static int systemd_timer_write_unit_templates(const char *exec_path)
>> +static int systemd_timer_write_unit_template(enum schedule_priority schedule,
>> + const char *exec_path,
>> + int minute)
>> {
>> char *filename;
>> FILE *file;
>> const char *unit;
>> + char *schedule_pattern = NULL;
>
> You should be able to drop the NULL initialization, since you assign
> this value unconditionally in the switch statement below (or BUG() on an
> unknown schedule type).Unfortunately, GCC complained about a possibly-unassigned value when I left this unset during development, so this actually is necessary for that compiler.
Thanks, -Stolee