irods / irods_client_cli

The iRODS CLI we deserve.
2 stars 4 forks source link

Consider adding a CLI daemon for background work #17

Open korydraughn opened 1 year ago

korydraughn commented 1 year ago

Feature

Having a daemon would enable us to improve the user experience around iRODS.

For example, the daemon could manage a queue which allows users to schedule multiple uploads of files. Users would then be able to query the queue for status updates, etc.

This is just one way to use the daemon. There are likely other ways to take advantage of it.

trel commented 1 year ago

But... this is a client? Who's running the daemon? When?

korydraughn commented 1 year ago

This is just an idea. The daemon would be a service that is managed by systemd. Just like how Docker has a daemon which manages things.

The CLI daemon could be used for several things (e.g. tab-completion, caching, etc). Ultimately, it gives people a way to stack operations in the background without having to give up control at the terminal.

trel commented 1 year ago

This is running on the irods-server? Or on the client machine?

korydraughn commented 1 year ago

On the client machine.

trel commented 1 year ago

Okay, your docker comment confused me, that daemon runs on the 'server'.

korydraughn commented 1 year ago

Let me try and clear it up.

I'm saying the CLI can have a daemon that runs alongside it on the user's local machine. So the CLI consists of two components.

I'm thinking about how this can handle uploads of many small files in a parallel manner.

trel commented 1 year ago

if that's the use case... feels like we can tar/zip, upload with a flag for 'batch' or 'policy', and then after receiving the server can unzip and register... all at once (batch) or one at a time (policy) (or perhaps concurrently via some synchronous server-side mechanism).

whiteboard!