(Internal) Task and data creation wrapper(s) #249
Labels
infrastructure
development infrastructure or lower level implementation details
workflow metadata
scalems workflow state, data references, task tracking, and the associated nonvolatile backing store
Milestone
Internal asynchronous and dispatched task management.
We have some cases where we have to track the relationship between scalems tasks, Python threads, RP tasks, and other resource handles. We have started to use entries in the metadata FileStore, but we are maintaining these manually.
We see groups of lines like
with other surrounding boiler plate.
For maintainability, robustness, and convenience, we should add a wrapper to apply the current task management protocol with something like
See also
scalems.radical.runtime.rp_task()
, which is currently a module-level function that is not connected to instances of Runtime or FileStore.Generated files
We want to robustly identify filesystem objects that are used internally and to defer file management to the scalems framework. For generated or temporary files, we see code like the following.
The above snippet creates a temporary file, writes to it, then adds it to the filestore as a workflow artifact.
We could instead write directly to a file-like object or filehandle wrapper that finalizes the editing handle into a
FileReference
when the editing context is closed.The text was updated successfully, but these errors were encountered: