在我正在设计的应用程序中,用户必须能够指定相当复杂的事件调度(连续时间块与每日时间块,异常日期/时间,重复模式等)。
有没有人知道网上有这么好的设计页面?例如,我对如何进行数据库审计跟踪的this page's描述给我留下了深刻的印象,并且会喜欢类似的东西。
我应该可以保存> 90%的事件直接通过模式字段,并且能够通过“暴力”ScheduleItems表处理任何其他角落情况。由于一些处理案例包括可能持续数月的事件(否则会导致大量的时间块),因此将它放在一行中是相当有吸引力的。
这是一个相当复杂的解决方案;任何其他需要此数据的系统都需要能够处理解析schedulePattern 以及知道何时获取ScheduleItem。
答案 0 :(得分:1)
“schedulePattern”以成熟的方式使用Cron格式存储用户的日程安排是运行任务的好主意。
这种格式既简单又复杂。在关系数据库中,如果将Cron的每个“条目”分隔到具有合适索引的表的列中,将会有一些性能优势。
然而,努力是这种格式和用户界面之间的转换。并且应该最初记录用户输入的原始数据。
我会设计两种表,一种用于用户输入的原始数据,另一种用于计划运行任务。