【发布时间】:2012-02-09 18:40:26
【问题描述】:
在我的应用程序中,我有一组要执行的作业。每个作业都会经历“未开始”、“已开始”、“已完成”、“失败”等状态。每个作业都有一组前置条件和后置条件。在满足前置条件之前,作业无法启动,如果不满足后置条件,则应将其标记为失败。
例如,假设作业将文本文件导入数据库。前置条件是检查源文件是否存在,后置条件是检查数据库中是否存在数据。
除了这些前置条件和后置条件之外,有时一项工作还依赖于其他工作才能完成。创建作业表和作业依赖表很容易,但实际上是否有可能使这些验证前和验证后检查在数据库中可配置(这样如果这些条件发生变化或不需要更改代码)添加了新条件)?即使有可能,这样做是个好主意吗?
需要使该模型具有通用性,以便其他应用程序也可以使用它,即使要执行的验证检查对于其他应用程序完全不同。
【问题讨论】:
-
不要重新发明整个轮子。一些部件已经作为开源项目用于作业调度。至少看看他们的源代码来寻找想法。
标签: design-patterns database-design architecture workflow