У меня есть следующая функция в веб-приложении:
На изображении выше я сохраняю время, указанное на модели Schedule
для некоторой работы, которая будет выполнена. На данный момент это работает идеально для «простых» выборов, а это означает, что если пользователь выбирает только Hourly, Weekly, Daily, or Monthly
, то у меня есть парк заданий cron, который запускается Hourly, Weekly, Daily, or Monthly
. Так что для ясности, у меня уже есть 4 задания cron, которые уже размещены в моем crontab, которые будут запускаться в указанное время и выбирать соответствующие модели расписаний.
Проблема, с которой я сталкиваюсь, - это пользовательская функция. Я озадачен тем, как эффективно создать фоновую задачу для запуска на пользовательском вводе для пользователя. Вот пример сценария. Допустим, у меня есть 3 пользователя, каждый из которых выбирает свое время для выполнения определенной работы.
Пользователь 1 выбирает пользовательскую задачу, которая будет выполняться только в январе, феврале и марте. Пользователь 2 выбирает пользовательскую задачу, которая будет выполняться по понедельникам в 13, 6 и 9 часов вечера. Пользователь 3 выбирает сканирование, которое будет выполняться только с пятницы по субботу каждый месяц.
И настройка продолжается и продолжается .......
Какой эффективный и выполнимый способ реализации такого рода поведения? На данный момент, я нахожусь в тупике и не придумаю способ даже приблизиться к этому на основе требования. Из того, что я прочитал, я полагаю, что отложенная работа поможет мне на основе этого вопроса о переполнении стека пользовательская работа, основанная на вводе , но с такой большой изменчивостью, как это будет возможно. Некоторая помощь и руководство будут оценены. Спасибо.