work_queue_status(1)

πŸ“¦
version 9.9 Β· 3 versions
, in debian bookworm, ubuntu jammy, ubuntu noble

✨ work_queue_status(1) ✨

okay so bestie, this is a page from the Cooperative Computing Tools manual, and it's about work_queue_status β€” the little icon that tells you what all your Work Queue apps are doing rn πŸ’…


🌸 NAME 🌸

work_queue_status β€” display status of currently running Work Queue applications. no cap, that's literally its whole job 🫢


πŸŽ€ SYNOPSIS πŸŽ€

work_queue_status [options] [manager] [port]

πŸ¦‹ DESCRIPTION πŸ¦‹

work_queue_status shows you the status of the Work Queue applications that are running right now. Here's the tea: when you run it with no options at all, it goes and asks the global catalog server to list all the Work Queue managers currently running. But when you hand it an address and a port, it goes straight to that one manager and gets the detailed deets about tasks and workers. so nosy of it, we love that 😌

Here's what you get:

  • Hostname and port number of the application.
  • Number of waiting tasks.
  • Number of completed tasks.
  • Number of connected workers.
  • Number of tasks currently being executed.
  • Timestamp of when there was last communication with the application.

✨ OPTIONS ✨

the full menu, bestie. every single one. πŸ’–

  • --where <expr> β€” only show Work Queue managers that match this expression.
  • -Q, --statistics β€” show summary info about queues. (this is the default, fyi)
  • -M, --project-name=<name> β€” filters the results of -Q down to managers matching <name>.
  • -W, --workers β€” show the details of all the workers connected to the manager.
  • -T, --tasks β€” show the details of every task sitting in the queue.
  • -A, --able-workers β€” list the categories of the given manager, the size of the largest task, and which workers can actually run it.
  • -R, --resources β€” show the available resources for each manager.
  • --capacity β€” show the resource capacities for each manager.
  • -l, --verbose β€” long output.
  • -C, --catalog=<catalog> β€” set the catalog server to <catalog>. format: HOSTNAME:PORT
  • -d, --debug=<flag> β€” enable debugging for the given subsystem. try -d all as a start, it's the vibe check of debugging πŸ›
  • -t, --timeout=<time> β€” RPC timeout (default=300s).
  • -o, --debug-file=<file> β€” send debugging to this file. (can also be :stderr, or :stdout)
  • -O, --debug-rotate-max=<bytes> β€” rotate the debug file once it hits this size.
  • -v, --version β€” show work_queue_status version.
  • -h, --help β€” show this help message.

🌈 EXAMPLES 🌈

this is the part where it gets good, fr fr

With no arguments, work_queue_status shows a summary of all the projects currently reporting to the default catalog server. The Waiting, running, and complete columns are all about number of tasks:

$ work_queue_status
PROJECT            HOST                   PORT WAITING RUNNING COMPLETE WORKERS
shrimp             cclws16.cse.nd.edu     9001     963      37        2      33
crustacea          terra.solar.edu        9000       0    2310    32084     700

With the -R option, you get a summary of the resources available to each manager:

$ work_queue_status -R
MANAGER                         CORES      MEMORY          DISK
shrimp                         228        279300          932512
crustacea                      4200       4136784         9049985

With the --capacity option, it's a summary of the resource capacities for each manager instead:

$ work_queue_status --capacity
MANAGER                         TASKS      CORES      MEMORY          DISK
refine                         ???        ???        ???             ???
shrimp                         99120      99120      781362960       1307691584
crustacea                      318911     318911     326564864       326564864

Use the -W option to list the workers connected to a particular manager. The Completed and running columns here refer to numbers of tasks:

$ work_queue_status -W cclws16.cse.nd.edu 9001
HOST                     ADDRESS          COMPLETED RUNNING
mccourt02.helios.nd.edu  10.176.48.102:40         0 4
cse-ws-23.cse.nd.edu     129.74.155.120:5         0 0
mccourt50.helios.nd.edu  10.176.63.50:560         4 4
dirt02.cse.nd.edu        129.74.20.156:58         4 4
cclvm03.virtual.crc.nd.e 129.74.246.235:3         0 0

With the -T option, you get a list of all the tasks submitted to the queue:

$ work_queue_status -T cclws16.cse.nd.edu 9001
ID       STATE    PRIORITY HOST                     COMMAND
1000     WAITING         0 ???                      ./rmapper-cs -M fast -M 50bp 1
999      WAITING         0 ???                      ./rmapper-cs -M fast -M 50bp 1
21       running         0 cse-ws-35.cse.nd.edu     ./rmapper-cs -M fast -M 50bp 3
20       running         0 cse-ws-35.cse.nd.edu     ./rmapper-cs -M fast -M 50bp 2
19       running         0 cse-ws-35.cse.nd.edu     ./rmapper-cs -M fast -M 50bp 2
18       running         0 cse-ws-35.cse.nd.edu     ./rmapper-cs -M fast -M 50bp 2

The -A option shows a summary of the resources observed per task category.

$ work_queue_status -T cclws16.cse.nd.edu 9001
CATEGORY        RUNNING    WAITING  FIT-WORKERS  MAX-CORES MAX-MEMORY   MAX-DISK
analysis            216        784           54          4      ~1011      ~3502
merge                20         92           30         ~1      ~4021      21318
default               1         25           54         >1       ~503       >243

With the -A option:

  • Running and waiting correspond to number of tasks in the category.
  • Fit-workers shows the number of connected workers that are able to run the largest task in the category.
  • max-cores, max-memory, and max-disk show the corresponding largest value in the category.

The value may have the following prefixes:

  • No prefix. The maximum value was manually specified.
  • ~ All the task have run with at most this quantity of resources.
  • > There is at least one task that has used more than this quantity of resources, but the maximum remains unknown.

Finally, the -l option shows statistics of the queue in a JSON object:

$ work_queue_status -l cclws16.cse.nd.edu 9001
{"categories":[{"max_disk":"3500","max_memory":"1024","max_cores":"1",...

πŸ’€ EXIT STATUS πŸ’€

On success, returns zero. On failure, returns non-zero. that's it, that's the whole drama 🫢


The Cooperative Computing Tools are Copyright (C) 2005-2019 The University of Notre Dame. This software is distributed under the GNU General Public License. See the file COPYING for details.


🧚 SEE ALSO 🧚


and that's the whole page bestie, you ate that πŸ’…

this was CCTools 8.0.0 DEVELOPMENT, and yeah the manual page is literally called work_queue_status(1) β€” mwah, go run it, ily 🫢✨

πŸ“¦ where this page comes from