Daemon rucio-undertaker

The Undertaker deamon 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.

usage: rucio-undertaker [-h] [--run-once] [--total-workers TOTAL_WORKERS] [--chunk-size CHUNK_SIZE]

Named Arguments

--run-once

One iteration only

Default: False

--total-workers

Total number of workers

Default: 1

--chunk-size

Chunk size

Default: 5

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]   |
|--------------+--------------|
+--------------+--------------+