HSG-MCS-HS21_tapas/TAPAS-Final/doc/architecture/decisions/0002-seperate-service-for-executor-pool.md
2021-12-22 15:55:48 +00:00

1.1 KiB

2. Seperate service for Executor Pool

Date: 2021-11-21

Status

Accepted

Context

The Executor Pool has to keep track of which Executors are online and what task types they can execute. The Roster keeps track of tasks that need to be executed and assigns Executors to tasks. The Executor Pool functionalty could be implemented in a seperate service or as a part of the Roster.

Decision

The executor pool will be implemented as a seperate service.

Most importantly, the Executor Pool and the Roster have quite different responsibilities and reasons to change. On one hand, the Executor Pool manages the Executors, and therefore it will change if we want to add functionality that impacts how Executors log onto the system and how we keep track of them. For example, if we want to check if an executor fulfills some requirements before logging on. On the other hand, the Roster manages the execution of tasks. TODO

Single responsibility

Potential Code volatility

Scalability - Roster needs much more scale

Consequences

The one funcionalty that is duplicated is error handling when an executor disconnects nongracefully...

TODO