We want to send opt-in task log reminders 48 hours after the end of a task.
We're accomplishing that here with a mailer (obviously) and a background job
that will run every hour at 58 minutes past the hour.
I decided to make a recurring job instead of scheduling a future job because
scheduling would require that the code track any changes to events; already the
most complex and bug-prone part of the codebase.
I picked minute 58 because most events happen on the hour and then a handful on
15m boundaries. If we did it on the hour, a job running a second early or late
could miss events. Running 2m before the hour makes it far more likely that
we'll catch all the events, even if the processing time is off by a little, but
they'll still be delivered approximately 48h later.