How zombie12138/orth works
Orth is a distributed task scheduler: administrators configure jobs in the web console; the admin service schedules and routes triggers to registered executors; executors run handlers and return callbacks and logs. The graph also preserves the console’s operational capabilities, including batch operations, GLUE editing, dashboard, users, and executor groups. The README documents several runtime capabilities not directly shown in sampled code; their nodes use supported source paths, while uncertain internal wiring is omitted.
Main entry points: App.tsx Console routes · client.ts API client · JobInfoMapper.java Persistence mappers · index.tsx Execution logs
Components 24
Admin console
- Console routes
orth-ui/src/App.tsx - Job operations
orth-ui/src/pages/Jobs/index.tsx - Execution logs
orth-ui/src/pages/Logs/index.tsx - GLUE editor
orth-ui/src/pages/GlueCode/index.tsx - Dashboard
orth-ui/src/pages/Dashboard/index.tsx - Groups and users
orth-ui/src/pages/ExecutorGroups/index.tsx - API client
orth-ui/src/api/client.ts
Scheduling control plane
- Job API
orth-admin/src/main/java/com/abyss/orth/admin/controller/api/JobController.java - Job management
orth-admin/src/main/java/com/abyss/orth/admin/service/impl/JobServiceImpl.java - Executor API
orth-admin/src/main/java/com/abyss/orth/admin/scheduler/openapi/OpenApiController.java - Registry and callbacks
orth-admin/src/main/java/com/abyss/orth/admin/service/impl/AdminBizImpl.java - Schedule engine
orth-admin/src/main/java/com/abyss/orth/admin/scheduler/thread/JobScheduleHelper.java - Trigger and routing
orth-admin/src/main/java/com/abyss/orth/admin/scheduler/trigger/JobTrigger.java - Log operations
orth-admin/src/main/java/com/abyss/orth/admin/controller/api/LogController.java - Executor client
orth-core/src/main/java/com/abyss/orth/core/openapi/ExecutorBiz.java
Executor runtime
- Executor RPC server
orth-core/src/main/java/com/abyss/orth/core/server/EmbedServer.java - Executor operations
orth-core/src/main/java/com/abyss/orth/core/openapi/impl/ExecutorBizImpl.java - Job execution
orth-core/src/main/java/com/abyss/orth/core/thread/JobThread.java - Job handlers
orth-core/src/main/java/com/abyss/orth/core/handler/IJobHandler.java - Trigger callbacks
orth-core/src/main/java/com/abyss/orth/core/thread/TriggerCallbackThread.java
Persistence and integrations
- Persistence mappers
orth-admin/src/main/java/com/abyss/orth/admin/mapper/JobInfoMapper.java - MySQL
Other components
- Administrator
- Executor instance
Connections 31
- Administrator → Console routes: uses
- Console routes → Job operations: routes to
- Console routes → Execution logs: routes to
- Console routes → GLUE editor: routes to
- Console routes → Dashboard: routes to
- Console routes → Groups and users: routes to
- Job operations → API client: requests through
- Execution logs → API client: requests through
- GLUE editor → API client: requests through
- Dashboard → API client: requests through
- Groups and users → API client: requests through
- API client → Job API: HTTP requests
- Job API → Job management: delegates job actions
- Job management → Persistence mappers: reads and writes
- Persistence mappers → MySQL: queries
- Schedule engine → Persistence mappers: loads schedules
- Schedule engine → Trigger and routing: dispatches due jobs
- Trigger and routing → Executor client: calls executors
- Executor client → Executor RPC server: RPC requests
- Executor instance → Executor RPC server: registers and receives triggers
- Executor RPC server → Executor operations: dispatches requests
- Executor operations → Job execution: starts job execution
- Job execution → Job handlers: invokes handler
- Job execution → Trigger callbacks: queues completion
- Trigger callbacks → Executor API: posts callbacks
- Executor API → Registry and callbacks: dispatches registry and callbacks
- Registry and callbacks → Persistence mappers: persists registry and results
- Execution logs → Log operations: requests log data
- Log operations → Persistence mappers: queries log records
- Log operations → Executor client: fetches executor logs
- GLUE editor → Job API: manages job source