Task scheduler Tasks can be scheduled with dependencies with other tasks. Allows manual actions on tasks using cli. Multiple tasks can be wrapped under a bundle task. Task can have dependencies, by setting a prerequisite (start condition) - task will only be executed if the condition satisfied. Tasks can be inserted/updated/deleted via specific syntax task action definition. Task can be scheduled with batch run or window run or manual run. Scheduler Architecture Services 1. Client CLI tool to interact with the event server 2. Event Server App server to listen on services (client, worker) 3. Validator Validates the syntax, data and conflicts of implementing the task action definition 4. Allocator Schedules the tasks for execution and make the task ready for execution 5. Worker Tasks are executed by worker and will request event server for state update