Повторяющиеся задачи, как реализовать в коде

Я работаю над приложением диспетчера задач и хочу добавить функцию повторяющихся / повторяющихся задач. Я думал о том, как заставить это работать, но не могу понять механику, как повторяющаяся задача воссоздает себе некоторые временные рамки в будущем.

Предположим, что я буду создавать повторяющуюся задачу для каждого понедельника в 8:00, начиная со следующей недели. Теперь предположим, что я не использую приложение в течение следующих 3 недель, а затем, когда я открою приложение, я должен увидеть 3 задачи за каждую из последних 3 недель? Или только новая задача на следующий понедельник? В случае, если я выберу первый вариант, когда мне нужно создать эту задачу, когда пользователь откроет приложение или когда он выйдет?

Мне было бы здорово, если бы кто-то мог это обсудить.

Теперь предположим, что я не использую приложение в течение следующих 3 недель, а затем, когда я открою приложение, я должен увидеть 3 задачи за каждую из последних 3 недель?

Это полностью зависит от вас. Если вы использовали свое приложение, которое вы бы предпочли? Лично я бы предпочел, чтобы старые задачи были независимо, но другие могли бы чувствовать себя иначе. Выберите один или предложите пользователю вариант в ваших настройках.

В случае, если я выберу первый вариант, когда мне нужно создать эту задачу, когда пользователь откроет приложение или когда он выйдет?

Я думаю, что правильный выбор – создать задачу, когда она станет видимой в первый раз. Например, если у вас есть календарь, создайте задачу при первом отображении этого дня / месяца / недели для пользователя. Таким образом, вы создаете задачи только по мере необходимости.

Я не могу подчеркнуть достаточно, хотя это действительно зависит от того, как вы представляете эту информацию пользователю.