https://github.com/plarun/scheduler
Task scheduler
https://github.com/plarun/scheduler
cli golang grpc microservices mysql scheduler task-scheduler
Last synced: about 2 months ago
JSON representation
Task scheduler
- Host: GitHub
- URL: https://github.com/plarun/scheduler
- Owner: plarun
- Created: 2021-12-13T11:38:03.000Z (over 4 years ago)
- Default Branch: latest-b
- Last Pushed: 2023-04-02T07:50:26.000Z (almost 3 years ago)
- Last Synced: 2025-06-13T23:33:30.742Z (10 months ago)
- Topics: cli, golang, grpc, microservices, mysql, scheduler, task-scheduler
- Language: Go
- Homepage:
- Size: 47 MB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# 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](internal/client/etc/test/def/).
- Task can be scheduled with batch run or window run or manual run.
---
## Scheduler Architecture

---
## Services
### 1. [Client](internal/client/docs/readme.md)
* CLI tool to interact with the `event server`
### 2. [Event Server](internal/eventserver/docs/readme.md)
* App server to listen on services (`client`, `worker`)
### 3. [Validator](internal/validator/docs/readme.md)
* Validates the syntax, data and conflicts of implementing the task action definition
### 4. [Allocator](internal/allocator/docs/readme.md)
* Schedules the tasks for execution and make the task ready for execution
### 5. [Worker](internal/worker/docs/readme.md)
* Tasks are executed by `worker` and will request `event server` for state update