You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A recent CUBE feature FNNDSC/ChRIS_ultron_backEnd#516 enables a more efficient solution to be implemented: sending ZIPs to and from pfcon is no longer necessary in cases where CUBE and pman are able to mount the same directory as volumes.
Changes to CUBE
In CUBE, compute resources have another field mode which is one of: "zip", "filesystem"
When sending to and receiving files from pfcon where mode=zip: CUBE works as it currently does.
New Behavior: mode=filesystem
To run a plugin instance with a compute resource where mode=filesystem, CUBE submits to pfcon:
a JSON describing the plugin and parameters (just like before)
a relative path to existing input data and where to write output data to (NEW)
When a plugin instance finishes, CUBE registers files simply by crawling the output directory using some equivalent of os.walk (or pathlib.Path.rglob('*'), FilesystemManager.ls, etc...)
Considerations: path, unextpath parameter types
unextpath parameters do not need special handling because they are never sent to the remote.
path parameters are possible to support either at the level of pfcon or pman by reading the parameter's value, which is a relative path to an existing directory in the shared volume. However, since path parameters are not used anywhere (and possibly candidate for deprecation), we do not need to implement this.
The text was updated successfully, but these errors were encountered:
Current Behavior
Currently, to run a plugin instance, CUBE submits a POST request to pfcon with two parts:
example of part 1:
When the plugin finishes:
Proposed Behavior
A recent CUBE feature FNNDSC/ChRIS_ultron_backEnd#516 enables a more efficient solution to be implemented: sending ZIPs to and from pfcon is no longer necessary in cases where CUBE and pman are able to mount the same directory as volumes.
Changes to CUBE
mode
which is one of:"zip"
,"filesystem"
mode=zip
: CUBE works as it currently does.New Behavior:
mode=filesystem
To run a plugin instance with a compute resource where
mode=filesystem
, CUBE submits to pfcon:Example request:
Importantly, no files are sent via ZIP.
When a plugin instance finishes, CUBE registers files simply by crawling the output directory using some equivalent of
os.walk
(orpathlib.Path.rglob('*')
,FilesystemManager.ls
, etc...)Considerations: path, unextpath parameter types
unextpath
parameters do not need special handling because they are never sent to the remote.path
parameters are possible to support either at the level of pfcon or pman by reading the parameter's value, which is a relative path to an existing directory in the shared volume. However, sincepath
parameters are not used anywhere (and possibly candidate for deprecation), we do not need to implement this.The text was updated successfully, but these errors were encountered: