We have a custom periodic task (a subclass of django-celery-beat's PeriodicTask model) that's scheduled using CronSchedule. In our custom periodic task, we want to allow an optional delay to when the task is scheduled.
So if the cron schedule is every 20th minute (*/20 * * * *), with a delay of 30minutes then it should be scheduled to run
Without the delay: 00:00, 00:20, 00:40
With the delay: 00:30, 00:50, 01:10
At first we thought of using CRON's offset syntax: <delay>-59/<frequency> * * * * but even with the example above, it's clear that it would not work.
How can we do something like this in django-celery-beat? Note that we are limited to using a CRON schedule and cannot use something like an interval schedule with a specified start date.