Skip to content

Releases: VachaLab/qq

v0.11.0

12 May 08:33

Choose a tag to compare

qq v0.11.0

qq respawn

  • Failed or killed jobs can now be easily "respawned" using qq respawn. When respawning a job, qq will remove the working directory of the failed job, clear all runtime files, and resubmit the job with the same parameters as before.

Specifying multiple job IDs

  • qq info, qq kill, qq sync, qq respawn, qq wipe, and qq go now accept multiple job IDs as arguments.
  • All of these commands now also internally resolve the jobs in parallel, making them much faster when dealing with a large number of jobs.

Clearing runtime files in a specified directory

  • qq clear now supports clearing runtime files in a directory other than the current one via the -d/--dir flag.

Better support for non-bash interpreters

  • Interpreters now support additional command-line arguments.

Resubmitting with fallback hosts

  • Resubmission of loop and continuous jobs now supports multiple fallback hosts. Previously, jobs were resubmitted from a single machine (the input machine or the working node, depending on the batch system). A list of hosts can now be specified via --resubmit-from or in the config file; they are tried in order until one succeeds, making resubmission more resilient to individual machine failures. See the manual for more information.

Other changes

  • Updated the installation scripts to more clearly report issues that occurred during the install.

Internal changes

  • qq now uses Python 3.13 for better generics support.
  • Fixed type errors in qq scripts.
  • Refactored BatchMeta.
  • Jobs can now be submitted from a remote machine (only via Python API).
  • Submitting jobs using Submitter.submit is now thread-safe.
  • When reading a configuration file fails, an exception is no longer raised; instead, an error is reported and a default configuration is used.
  • CFG is now a frozen dataclass.
  • Default archive directory and archive format are now configurable.
  • Changed the internal representation of the interpreter specified to execute the script.

v0.10.1

14 Apr 14:24

Choose a tag to compare

qq v0.10.1

  • The minimal width of the job status info panel was slightly increased to better accommodate long node names.
  • Bug fix: None is no longer displayed in the subtitle of the panel when using qq nodes.

v0.10.0

30 Mar 10:07
d9b84cb

Choose a tag to compare

qq v0.10.0

New features

  • Added support for submitting jobs to different batch servers on Metacentrum-family clusters. See the manual for more information.
  • Added support for specifying a custom interpreter when submitting a job (e.g. Python, Julia). See the manual for more information.

Python API changes

  • Breaking Python API change: Renamed methods from camelCase to snake_case.

Small changes and bug fixes

  • Paths are now resolved to absolute paths without following symlinks, ensuring compatibility across machines with different mount points (e.g. Robox and Sokar).
  • Improved hostname resolution to allow accessing worker nodes of the Sokar cluster from machines outside the ncbr.muni.cz domain.
  • Fixed log lines in qqout files being truncated.
  • Single-node qq jobs should no longer fail on Metacentrum when a batch server is temporarily unreachable during job initialization.
  • On LUMI, qq nodes now shows the physical number of CPU cores available on each node, not the number of threads.
  • qq no longer includes completed array tasks within uncompleted array jobs in the output of qq jobs and qq stat, unless the -a/--all option is used.
  • Bug fix: Fixed incorrect conversion of default walltime of Slurm partitions.

v0.10.0-dev.1

25 Mar 10:03

Choose a tag to compare

v0.10.0-dev.1 Pre-release
Pre-release

qq v0.10.0-dev.1

Pre-release for version 0.10. You should not use this version yet. See CHANGELOG.md in the v0.10 branch for details about what has changed.

v0.9.0

12 Mar 13:43
48b7bd2

Choose a tag to compare

qq v0.9.0

  • Added continuous jobs: a light-weight alternative to loop jobs. Continuous jobs automatically submit their continuation but do not track their cycle nor do they perform archival operations. See the manual for more information.

v0.8.0

06 Mar 17:52

Choose a tag to compare

qq v0.8.0

  • Added the --transfer-mode and --archive-mode options, which allow automatically transferring (and archiving, respectively) files from the working directory for other jobs than those successfully finished. See the manual for more information.
  • As a consequence of the above change, the behavior of qq go, qq sync, and qq wipe has been slightly adjusted.
  • Breaking change: In qq submit, list options (e.g., --include, --exclude, --depend, --props) are now sourced exclusively from either the command line or the submitted script, if specified. Values from both sources are no longer merged. The previous behavior was inconsistent and could cause confusion and bugs, such as duplicated resources in loop jobs.
  • Bug fix: Fixed an issue where autocomplete for the script name in qq submit did not work if a previous option's value contained =.
  • Bug fix: Fixed parsing of qq directives in submitted scripts containing numeric values.

v0.7.2

25 Feb 13:06

Choose a tag to compare

qq v0.7.2

  • Bug fix: Updated installation scripts so that installation works even for nodes opening login shell.

v0.7.1

23 Feb 14:58

Choose a tag to compare

qq v0.7.1

  • Bug fix: Fixed script name autocomplete so it works after options and with --option=value syntax.
  • Updated installation scripts to use the updated link to the repository.

v0.7.0

21 Feb 14:10
35d0044

Choose a tag to compare

qq v0.7.0

  • Added passive support for array jobs. In the output of qq jobs and qq stat, individual sub-jobs are now displayed for all array jobs.
  • Added autocomplete for script name in qq submit and qq shebang.
  • Some rewordings.

v0.6.2

26 Jan 14:55
2539651

Choose a tag to compare

qq v0.6.2

  • The operation for obtaining the list of working nodes at job start is now retried potentially decreasing the number of failures on unstable systems (like Metacentrum).