Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Temporary output directory support #330

Open
vinjana opened this issue Jan 16, 2019 · 1 comment
Open

Temporary output directory support #330

vinjana opened this issue Jan 16, 2019 · 1 comment
Milestone

Comments

@vinjana
Copy link
Contributor

vinjana commented Jan 16, 2019

Currently, the user has to manager transactionality of jobs by either writing to manually composed temporary files or by using checkpoint files (in rare cases). This has several disadvantages:

  • clutter code with management code
  • error prone: more files to handle
  • clash in the rare case of multiple identical Roddy submissions running at the same time (this is a pathological situation but resolving the problems can be complicated, unless just everything is deleted and rerun correctly

Aim: Write all job-output into job-specific output directory. Only after the job is finished, move the output to the final destination. Compare e.g. cwlexec: Here everything is kept in job-specific directories. We would like to be more generic (and we can; it is also easy to mimick the cwlexec behaviour by adding ${TOOL_ID} into the output file path).

  1. At submission time, create a temporary directory (directly?) within the output directory. It could be also a temp-dir for the submission and another directory level for the job.
  2. Expose the job's full temp-dir and temporary tag (i.e. just the random part of the directory) to the filename-pattern resolution with specific variables. They should also be exposed into the job with environment variables (e.g. RODDY_JOB_TMP_DIR and RODDY_JOB_TMP_TAG or so).
  3. After the job finished successfully in the job wrapper script move the temporary output to the final destination.
@vinjana
Copy link
Contributor Author

vinjana commented Apr 29, 2024

Note that the temporary job directory needs to be different for every job execution.
The directory path should be defined before the job starts executing (this it could be shown at job submission time)

@vinjana vinjana moved this to Backlog in RoddyCore May 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Backlog
Development

No branches or pull requests

1 participant