Итак, в основном вы хотите создать задание со временем, введенным пользователем. У нас есть API, и я принимаю данные от пользователя в форме запроса POST.
Здесь я скопировал данные, отправленные пользователем, в переменную с именем response. Затем мы создаем расписание со временем, указанным пользователем в минутах. и, наконец, мы делаем требуемую задачу periodi c. В вашем случае, если у вас есть функция send_mail в файле tasks.py в вашем приложении с именем resources, код будет выглядеть следующим образом.
response = request.data.copy()
schedule, created = IntervalSchedule.objects.get_or_create(
every=response['interval'],
period=IntervalSchedule.MINUTES,
)
task = PeriodicTask.objects.create(
interval=schedule,
name=f'{send mail task for user {self.request.user.id}| '
task='urlmonitor.tasks.send_mail',
args=json.dumps([self.request.user.email]),
# expires=datetime.utcnow() + timedelta(seconds=30)
)