Skip to content

2.8 Task Application Layer MachineJob

OpenClaw edited this page May 25, 2026 · 2 revisions

MachineJobScheduler implement a schedule system that can communicate to massive machines at the same time, it is implemented by Quartz and job chain.

Implementation

MachineJobSchedulerCreator create an instance of MachineJobScheduler and can use following methods to communicate to machines. Methods are invoke one by one.
Get: Acquire data from a machine. Apply: Directly generate a data template without machine. Query: Process data. Set: Write data to a machine. Deal: Reference write result.

classDiagram
    class MachineJobScheduler {
        +Get()
        +Apply()
        +Query()
        +Set()
        +Deal()
    }
    class MachineJobSchedulerCreator {
        +Create() MachineJobScheduler
    }
    class MachineJob {
        +Execute()
    }
    MachineJobSchedulerCreator --> MachineJobScheduler : creates
    MachineJobScheduler --> MachineJob : schedules
Loading

Interface

Machine reflection method calling will invoke When MachineJobScheduler want to trig a job. These methods should be derived by IMachineMethod.

sequenceDiagram
    participant S as MachineJobScheduler
    participant Q as Quartz.NET
    participant M1 as Machine 1
    participant M2 as Machine 2
    S->>Q: CreateTrigger + ScheduleJob
    loop Periodic execution
        Q->>S: Job.Execute()
        S->>M1: GetDatasAsync/SetDatasAsync
        M1-->>S: data
        S->>M2: GetDatasAsync/SetDatasAsync
        M2-->>S: data
    end
Loading

Home

中文

English

Clone this wiki locally