The flowJo parser generates temporary h5 folders and h5 files for each run. Right now we set the default h5_dir as /tmp or Rtmp and let os or R session to do the clean up job.
If we ever want to proactively do the garbage collection to avoid flooding the fs by the large number of temporary h5s (given os may not clean /tmp folder as frequent).
We will have to maintain a global counter (at cytolib level) for each GatingSet in order to decide whether to delete the associated h5 folder. It may not always be easy, because GatingSet can be loaded from user-archived folder, which we don't necessarily want to delete them after it is done.
What makes it more complicated is, CytoFrame can potentially live outside of the scope of GatingSet and we then also need to have a counter per frame.
For now, I will leave it as it is. We can revisit this issue as needed later.
The flowJo parser generates temporary
h5folders andh5files for each run. Right now we set the defaulth5_diras/tmporRtmpand letosorRsession to do the clean up job.If we ever want to proactively do the garbage collection to avoid flooding the
fsby the large number of temporary h5s (givenosmay not clean/tmpfolder as frequent).We will have to maintain a global counter (at
cytoliblevel) for eachGatingSetin order to decide whether to delete the associated h5 folder. It may not always be easy, becauseGatingSetcan be loaded from user-archived folder, which we don't necessarily want to delete them after it is done.What makes it more complicated is,
CytoFramecan potentially live outside of the scope ofGatingSetand we then also need to have a counter per frame.For now, I will leave it as it is. We can revisit this issue as needed later.