This is a framework for dealing with jobs. Assign available performer for specific job automatically. A very typical use case is to make robots process tasks. Job can be in a complex data structure, currently tree data structure, which means each job could have its own sub jobs.
- Easy way to generate job instance with defined hierarchy.
- Scheduler to handle each job.
- Allocator to decide how to assign performer for the job.
- Storage support to dealing with optimistic/pessimistic lock, transaction, so the database would always be sync between scheduler and user operation.
- Communication support for tcp / websocket.
- Implement the goal mechanism, so each job would continue execute until it meets all goals.
- The way to control different performers during different jobs' states.
- Install Fluvial and setup a spring boot project.
- Extends Job to have your own specific jobs, and override function in jobs, like execute(), stop(), etc, so job know what to do at each case.
- Extends JobStorage/PerformerStorage if you have extra info what to save in database.
- Extends JobStorageAdapter/PerformerStorageAdapter if you what extra way to query your database.
- Extends Performer to declare and implement what your performer can do.
- Implement commands so you use to command your performer.
- Write your own controllers response to specific requests.
You can take a glimpse on our sample.