usage: rucio-undertaker [-h] [--run-once] [--total-workers TOTAL_WORKERS]
[--chunk-size CHUNK_SIZE] [--sleep-time SLEEP_TIME]
The Undertaker daemon is responsible for managing expired DIDs. It deletes DIDs, but not replicas by checking if there are DIDs where the 'expired_at' date property is older than the current timestamp.
optional arguments:
-h, --help show this help message and exit
--run-once One iteration only
--total-workers TOTAL_WORKERS
Total number of workers
--chunk-size CHUNK_SIZE
Chunk size
--sleep-time SLEEP_TIME
Concurrency control: thread sleep time after each
chunk of work
Create a DID that is already expired by setting its lifetime to -1::
$ python
from rucio.db.sqla.constants import DIDType
from rucio.client.didclient import DIDClient
client = DIDClient()
client.add_did(scope='mock', name='test', type=DIDType.DATASET, lifetime=-1)
Check if the DID exists::
$ rucio list-dids mock:test
+--------------+--------------+
| SCOPE:NAME | [DID TYPE] |
|--------------+--------------|
| mock:test | DATASET |
+--------------+--------------+
Run the daemon::
$ rucio-undertaker --run-once
Check if the DID exists::
$ rucio list-dids mock:test
+--------------+--------------+
| SCOPE:NAME | [DID TYPE] |
|--------------+--------------|
+--------------+--------------+