-
Notifications
You must be signed in to change notification settings - Fork 5
Home
axlbonnet edited this page Aug 31, 2023
·
5 revisions
This does synchronous stuff the command described bellow
This does not use pools and it does not do disk size verification.
All operations (download/upload/replicate/delete) are asynchronous and are handled into dedicated pools.
They are all identified by an operationId
to monitor them.
In the case of file Download (not folder), a size check is done by checking the size to download and the disk free space (in PoolOperation::addOperation
).
All the commands are handled in the Executor
class.
TODO
### PoolDownload
- max parallel downloads configured in grida conf file
- download using same implementation of the
GetRemoteFile
command, except this does not check the cache (nor add it to cache)
- max parallel uploads configured in grida conf file
- upload using same implementation of the
UploadFile
command, not doing any replication yet, but submitting a new replicate operation that will replicate on all SEs configured in the grida conf file
- max parallel replication configured in grida conf file
- replicates file on all SEs configured in the grida conf file
- max parallel deletes configured in grida conf file
- delete using same implementation of the
Delete
command
- Checks CacheBusiness.
- If absent or outdated, checks if dest file already exists
- If absent or ouddated, download with
dget
NO POOLING
NO DISK SIZE CHECK
- recursive
- download each file with
dget
(except if dest file already exists and is not outdated) - option to zip the folder (the folder is then deleted)
NO CACHE
NO POOLING
NO DISK SIZE CHECK
- using dput
- using SE configured in grida conf file (try in order in order, stop when 1 is ok)
- delete local file
- if SEs were given on the command, do a
drepl
on each one - otherwise, add a Replicate operation in a pool (asynchronous)
NO POOLING
- do a
dirac-dms-clean-directory
if it is a directory - do a
dirac-dms-remove-files
if it is a file
NO POOLING