# # Robot allocation strategy # # Format: # # host: # - robot[:lane[:instances]] # # where # 1. robot is a single robot identifier (fully-qualified with # REPO_SUITE_ROBOT, e.g., "dor_accessionWF_technical-metadata"). # 2. lane is # - a single identifier ('A'), or # - a list of identiers ('A,B,C'), or # - an asterix (*). # 3. instances is a single integer. # # Both lane and instances are optional. Lane defaults to 'default', and # instances defaults to 1. # # When a robot is allocated to multiple lanes, it reads them in # PRIORITY ORDER. That is, if a robot is listening to lanes A, B, and C, # it works on lane A until empty, then lane B until empty, and then # lane C until empty. In the meantime, if a job comes in on a 'faster' # lane, it works on that after finishing it's current job (i.e., after # working on a job in lane C, if a job comes in on lane A in the intermin, # the robot will work on the lane A job next before returning to lane C). # When using an asterix for the lane designator, the lanes are processed # in alphabetical order. # # Note that the syntax is YAML, so the lists must not contain spaces or # needs to be quoted. # # RIGHT # - dor_accessionWF_technical-metadata:A:5 # - 'dor_accessionWF_technical-metadata : A : 5' # # WRONG # - dor_accessionWF_technical-metadata : A : 5 # - dor_accessionWF_technical-metadata: A: 5 # # # Robot 1 (8 CPU) hosts shelving and publish only # sul-robots1-dev: - dor_accessionWF_shelve:A # 1 robot for lane A - dor_accessionWF_shelve:B:3 # 3 robots for lane B - dor_accessionWF_shelve:C:3 # 3 robots for lane C - dor_accessionWF_shelve:D:3 # 3 robots for lane D - dor_accessionWF_shelve:E:3 # 3 robots for lane E - dor_accessionWF_shelve:*:3 # 3 robots for all lanes - dor_accessionWF_shelve:default:3 # 3 robots for default lane - dor_accessionWF_publish:A,C:3 # 3 robots for lanes A and C - dor_accessionWF_publish:B,D,E # 1 robot for lanes B, D and E - dor_accessionWF_descriptive-metadata # 1 robot for default lane - dor_accessionWF_rights-metadata # 1 robot for default lane - dor_accessionWF_content-metadata # 1 robot for default lane - dor_accessionWF_remediate-object # 1 robot for default lane - dor_accessionWF_provenance-metadata # 1 robot for default lane - dor_accessionWF_sdr-ingest-transfer # 1 robot for default lane - dor_accessionWF_end-accession # 1 robot for default lane # # Robot 2 (16 CPU) hosts technical metadata creation only # sul-robots2-dev: - dor_accessionWF_technical-metadata:A:5 # 5 robots for lane A - dor_accessionWF_technical-metadata:B:5 # 5 robots for lane B - dor_accessionWF_technical-metadata:C,D,E:5 # 5 robots for lanes C, D, and E # # Robot 3 (4 CPU) hosts helper robots for all accessioning workflows # sul-robots3-dev: - dor_accessionWF_descriptive-metadata # 1 robot for default lane - dor_accessionWF_rights-metadata # 1 robot for default lane - dor_accessionWF_content-metadata # 1 robot for default lane - dor_accessionWF_technical-metadata # 1 robot for default lane - dor_accessionWF_remediate-object # 1 robot for default lane - dor_accessionWF_shelve # 1 robot for default lane - dor_accessionWF_publish # 1 robot for default lane - dor_accessionWF_provenance-metadata # 1 robot for default lane - dor_accessionWF_sdr-ingest-transfer # 1 robot for default lane - dor_accessionWF_end-accession # 1 robot for default lane