Ticket execution logic
A ticket is an order to the RX400 to copy some data to a number of physical media. Copying the data to one specific medium is done in the context of a job. In the further discussion we say, a job or a medium is produced, when a copy job is successfully fulfilled.
The lifecycle of a ticket is:
- The ticket is sent to the RX400 via the Ticket API
- Data is recollected and prepared.
- When a medium matching the ticket is inserted into a slot, a job is created and started
- When all jobs for the ticket are produced, the ticket is archived.
The X5 drivecopy software is made for high scalability: a coordinator process (drivecopy-master) receives tickets and dispatches them to one or more worker processes (drivecopy-slave), which potentially reside on separate hardware units.
The interactions within this distributed system is illustrated with the following diagrams:
- Ticket State Diagram - Shows the lifecycle of a ticket in more detail, focusing on user interaction. It is connected via the metaphor of a "pool of prepared tickets" to the:
- Job Production Logic - where available media are matched to available tickets. Every time a match is possible, a job is created.
- Job State Diagram - a job lifecycle is simple, however it is the main part of the production process. All steps of the
runningstate of a job can be adapted by plugins.
No Comments