graph LR
START --> Pending
click START "javascript:alert(222)" "Tip"
Pending --> Held
Pending --> Processing
Held -.-> Processing
Processing --> Reporting
Reporting --> COMPLETED
Reporting --> Failed
Failed -.-> UpdateReporting
UpdateReporting --> Failed
UpdateReporting --> COMPLETED
Failed -.-> DELETED
Held -.-> DELETED
A dashed line indicates and administrative action initiated by the Merritt Team
Batch is ready to be processed
Collection is HELD. The hold must be released before the batch can proceed. The Held state has not been implemented. The priority of supporting this state has not yet been determined.
Payload is analyzed. If the payload is a manifest, it will be downloaded. Jobs are created in the job queue.
All jobs have COMPLETED or FAILED, a summary e-mail is sent to the depositor.
All jobs COMPLETED
At least one job FAILED
Determine if any previously FAILED jobs are not complete. If so, notify the depositor by email.
graph TD
START --> Pending
Pending --> Held
Pending --> Estimating
Held -.-> Pending
Estimating --> Provisioning
Estimating --> Failed
Provisioning --> Downloading
Downloading --> Processing
Downloading --> Failed
Failed -.-> Downloading
Processing --> Recording
Processing --> Failed
Failed -.-> Processing
Recording --> Notify
Recording --> Failed
Failed -.-> Recording
Notify --> COMPLETED
Notify --> Failed
Failed -.-> Notify
Failed -.-> DELETED
Held -.-> DELETED
Job is waiting to be acquired by the queue
Since Job was queued, the collection has been put into a HELD state. The job will require an administrateive action to release it after the hold is released.
Perform HEAD requests for all content to estimate the size of the ingest. If HEAD requests are not supported, no value is updated and the job should proceed with limited information. This could potentially affect priority for the job
Once dynamic provisioning is implemented (ie zfs provisioning), wait for dedicated file system to be provisioned.
If not dedicated file system is specified, use default working storage.
One or more downloads is in progress. This can be a multi-threaded step. Threads are not managed in the queue.
All downloads complete; perform Merritt Ingest
Storage is complete; ready for Inventory. The Inventory service will operate on this step.
Invoke callback if needed Notify batch handler that the job is complete
Storage and inventory are complete, cleanup job folder
The queue will track the last successful step so that the job can be resumed at the appropriate step.
graph LR
START --> Pending
Pending --> Processing
Failed -.-> Processing
Processing --> Failed
Processing --> COMPLETED
Failed -.-> DELETED