Python OOD:设计具有不同活动频率需求的调度器

Python OOD:设计具有不同活动频率需求的调度器,python,python-3.x,oop,design-patterns,Python,Python 3.x,Oop,Design Patterns,我有一个OOD/OOP问题,我需要设计一个调度器,以输出具有不同频率的特定活动的日期 例如,我可以将此活动安排为每一小时、每4小时、每天或每周,甚至每个月。 我还可以将事件设置为在中午、晚餐时间或睡前进行。 此外,您还可以将事件设置为随机发生。 输出将是将来计划的时间列表 我最初的计划是,使用enum设置频率: class TimeUnit(enum): hour day week month class Scheduler(): def __init_

我有一个OOD/OOP问题,我需要设计一个调度器,以输出具有不同频率的特定活动的日期

例如,我可以将此活动安排为每一小时、每4小时、每天或每周,甚至每个月。

我还可以将事件设置为在中午、晚餐时间或睡前进行。

此外,您还可以将事件设置为随机发生。

输出将是将来计划的时间列表

我最初的计划是,使用enum设置频率:

class TimeUnit(enum):
    hour
    day
    week
    month

class Scheduler():
    def __init__(self):
        self.time_table = []

    def update_timetable(self, time_unit: TimeUnit, frequency: int, start_data: datetime):
        pass
    

scheduler = Scheduler()
# As a result, the following means to set the event to happen 3 times a day.
scheduler.update_timetable(TimeUnit.day, 3, Oct.25.2020) 
但我不知道如何设计调度程序,以优雅地满足在某个固定时间(如晚餐时间)或几个固定时间(如每天上午9点、下午4点和晚上10点)安排活动的需要


提前感谢。

看看cron使用的模式。