Notifications
Notifications
Rucio generates several types of notifications, such as for rule state changes, transfer requests, etc. These notifications are primarily useful to other systems for synchronisation purposes, e.g., notifying a workflow management system that a dataset has finished transferring or has been deleted.
Rucio Notifications
The events generated by Rucio are categorized into different event types. Each event type has a different payload.
Context | Event Type | Payload example |
---|---|---|
While adding a DID, if the DID type is a Container | CREATE_CNT | {'account': 'ruciouser', 'scope': 'data', 'name': 'this.is.a.dataset', 'expired_at': '2023-07-05 14:51:55.378549' or None} |
While adding a DID, if the DID type is a DataSet | CREATE_DTS | {'account': 'ruciouser', 'scope': 'data', 'name': 'this.is.a.dataset', 'expired_at': '2023-07-05 14:51:55.378549' or None} |
Submit transfer requests on destination RSEs for data identifiers. | transfer_status | {'request-id': '414ac0cd34844a03a184ce4b0f640dd1', 'request-type': 'transfer', 'scope': 'data', 'name': 'this.is.a.test.file', 'dst-rse-id': '207228dfe3b246ab9d8b199c8358e864', 'dst-rse': 'TESTRSE', 'state': 'QUEUED', 'retry-count': 2, 'rule-id': '8f06b8ede5024e9fb8c1aa4d761627f0', 'activity': 'User Subscription', 'file-size': 1000000, 'bytes': 1000000,'checksum-md5': '9e107d9d372bb6826bd81d3542a419d6', 'checksum-adler': '08880271', 'queued_at': '2023-07-05 14:51:55.378549'} |
Schedule removal of the entry from the DIDs table | INCOMPLETE | - |
Delete empty DIDs where the DIDType is DATASET | ERASE | {'scope': 'data', 'name': 'this.is.a.dataset','account': 'root'} |
When the replication rule transitioning into OK_STATE for DIDs which are closed | RULE_OK | {'scope': 'data','name': 'this.is.a.dataset','rule_id': '18432d3c5aad43e3a4ed10ff61e5d1ce','progress': 30,'vo': 'testvo'} |
For replication replication rule, for each 10% of progress | RULE_PROGRESS | {'scope': 'data','name': 'this.is.a.dataset','rule_id': '18432d3c5aad43e3a4ed10ff61e5d1ce','progress': 30,'vo': 'testvo'} |
When the replication rule transitioning into OK_STATE for each DATASET covered by the rule | DATASETLOCK_OK | {'scope': 'data','name': 'this.is.a.dataset','rse': 'TESTRSE', 'rse_id': '3ddb29c028574f7288595711bc83f3e6''vo': 'testvo'} |
When a transfer has been completed | transfer-done | {'scope': 'data','name': 'this.is.a.dataset', 'src-rse': 'TESTRSE', 'dst-rse': 'TESTRSE', 'activity': 'User Subscription', 'request-id': None, 'transfer-id': None, 'created_at': '2023-07-05 14:51:55.378549', 'transferred_at': '2023-07-05 14:51:55.378549'} |
When a transfer has been fail | transfer-failed | {'scope': 'data','name': 'this.is.a.dataset', 'src-rse': 'TESTRSE', 'dst-rse': 'TESTRSE', 'activity': 'User Subscription', 'request-id': None, 'transfer-id': None, 'created_at': '2023-07-05 14:51:55.378549', 'transferred_at': '2023-07-05 14:51:55.378549'} |
When a deletion has been successful | deletion-done | {'scope': 'data','name': 'this.is.a.dataset', 'rse': 'TESTRSE','request-id': None, 'url': None,'bytes': 1000000, 'created_at': '2023-07-05 14:51:55.378549'} |
When a deletion has been fail | deletion-failed | {'scope': 'data','name': 'this.is.a.dataset', 'rse': 'TESTRSE','request-id': None, 'url': None,'bytes': 1000000, 'created_at': '2023-07-05 14:51:55.378549'} |