定时任务应该放在哪一层?

jst*_*ngo 5 architecture domain-driven-design scheduled-tasks n-tier-architecture

我正在尝试使用分层架构来实现 DDD 应用程序。我有:

  • 基础设施层 - 实现应用程序的技术特定部分的层。
  • 领域层 - 包含领域模型的层。
  • 应用层——包含与领域模型交互的干扰的层。
  • 接口层——从外部接收事件的层。

经典的 3 层(+ 基础设施)架构非常清晰。但我的应用程序不是很经典。除了 UI 之外,我还安排了应定期运行的任务。我考虑过将此类任务放入接口层,因为这些任务实际上处理类似 UI 的事件。但有一个问题,我无法决定应该在哪一层放置调度程序来触发计划任务的事件。

我画一张草图

http://imgur.com/rY37b.png

我应该将调度程序对象放在哪一层?或者可能是使用内部事件生成器设计应用程序的另一种方法。

Szy*_*ega 2

对我来说,调度程序是任务执行器的主机(就像 JSP 容器是 UI 的主机一样)。我将其建模为外部实体,并将其实现为另一个基础设施项目。