HSG-MCS-HS21_tapas/TAPAS-Final/doc/architecture/decisions/0002-seperate-service-for-executor-pool.md

29 lines
1.1 KiB
Markdown
Raw Normal View History

2021-12-22 15:55:48 +00:00
# 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