Functionality for running idempotent, transactional processes. Provides an API for long running processes in computational pipelines. Avoids re-running a process if it has produced the output file on a previous run, and leaving partially finished files in the case of premature termination.
Functionality for running idempotent, transactional processes. Provides an API for long running processes in computational pipelines. Avoids re-running a process if it has produced the output file on a previous run, and leaving partially finished files in the case of premature termination.
(check-run cmd)
(check-run cmd tmp-dir)
Run a shell command, detection failures with non-zero exit codes. Handles merged writing of stdout/stderr to log files. When passed a temporary directory writes commands to temporary bash script to avoid line length restrictions.
Run a shell command, detection failures with non-zero exit codes. Handles merged writing of stdout/stderr to log files. When passed a temporary directory writes commands to temporary bash script to avoid line length restrictions.
(needs-run? & fnames)
Check if an output files need a run: any do not exist or empty file
Check if an output files need a run: any do not exist or empty file
(rename-tx-files tx-file-info file-info need-tx exts)
Rename generated transaction files into expected file location.
Rename generated transaction files into expected file location.
(run-cmd out-file & cmd)
Run a command line producing the given output file in an idempotent transaction. Wraps all of the machinery around preparing a command line from local arguments. Ensures a single run and avoids partial output files.
Run a command line producing the given output file in an idempotent transaction. Wraps all of the machinery around preparing a command line from local arguments. Ensures a single run and avoids partial output files.
(safe-copy orig-file out-file)
Perform a safe copy inside a transaction directory.
Perform a safe copy inside a transaction directory.
(safe-tx-files file-info need-tx)
Update file-info with need-tx files in a safe transaction directory.
Update file-info with need-tx files in a safe transaction directory.
(subs-kw-files args file-info)
Substitute any keywords in the arguments from file information map.
Substitute any keywords in the arguments from file information map.
(up-to-date? derived parent)
Ensure a derived file is up to date with the parent file.
Ensure a derived file is up to date with the parent file.
(with-named-tempdir [tmp-dir dir-name] & body)
Provide a temporary directory with a specific name, removing on successful completion only
Provide a temporary directory with a specific name, removing on successful completion only
(with-temp-dir [tmp-dir base-dir] & body)
Provide a temporary directory, removed when exiting the body.
Provide a temporary directory, removed when exiting the body.
(with-tx-file [tx-file orig-file] & body)
Handle a single file in a transaction directory.
Handle a single file in a transaction directory.
(with-tx-files [tx-file-info file-info need-tx exts] & body)
Perform action with files, keeping need-tx files in a transaction.
Perform action with files, keeping need-tx files in a transaction.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close