work_queue_worker(1)
π NAME π
work_queue_worker β the worker process that runs tasks dispatched through Work Queue. She's the one doing the actual work, bestie. No cap.
β¨ SYNOPSIS β¨
work_queue_worker [options] <managerhost> <port>
work_queue_worker [options] <managerhost:port]>
work_queue_worker [options]
"<managerhost:port;[managerhost:port;managerhost:port;...]>"
work_queue_worker [options] -M <projectname>
π¦ DESCRIPTION π¦
So work_queue_worker is the worker process for executing tasks dispatched from a manager application built using the Work Queue API. In human terms? She connects to the manager application, accepts tasks, runs them, and returns the results. That's the whole job. She's literally the backbone. π
The managerhost and port arguments specify the hostname and port number of the manager application for work_queue_worker to connect to. You can also specify several managerhosts and ports, separated with a semicolon (;), and the worker will connect to any of the managers you specified. When you're specifying multiple managers, remember to escape the ; from shell interpretation, for example by using quotes. Shell will absolutely snatch your semicolon otherwise. π
Alternately, the manager may be specified by name, using the -M option. Cute and simple.
work_queue_worker can be run locally or deployed remotely on any of the grid or cloud computing environments such as SGE, PBS, SLURM, and HTCondor using sge_submit_workers(1), pbs_submit_workers(1), slurm_submit_workers(), and condor_submit_workers(1) respectively. Glow up in any environment, fr fr. π
π OPTIONS π
-vβ Show version string.-hβ Show this help message.-N,---M=<manager-name>β Set the name of the project this worker should work for. A worker can have multiple projects. She's multifaceted like that. π-C,--catalog=<catalog>β Set catalog server to <catalog>. Format:HOSTNAME:PORT-d,--debug=<flag>β Enable debugging for the given subsystem. Try-d allas a start.-o,--debug-file=<file>β Write debugging output to this file. By default, debugging is sent tostderr(":stderr"). You may specify logs to be sent tostdout(":stdout") instead.--debug-max-rotate <bytes>β Set the maximum file size of the debug log. If the log exceeds this size, it is renamed to"filename.old"and a new logfile is opened. (default=10M. 0 disables)--debug-release-resetβ Debug file will be closed, renamed, and a new one opened after being released from a manager.--foremanβ Enable foreman mode.-f,--foreman-name=<name>β Set the project name of this foreman to <project>. Implies--foreman.--foreman-port <port[:highport]>β Set the port for the foreman to listen on. If <highport> is specified the port is chosen from between <port> and <highport>. Implies--foreman.-Z,--foreman-port-file=<file>β Select port to listen to at random and write to this file. Implies--foreman.-F,--fast-abort=<mult>β Set the fast abort multiplier for foreman (default=disabled).--specify-log <logfile>β Send statistics about foreman to this file.-P,--password=<pwfile>β Password file for authenticating to the manager.-t,--timeout=<time>β Abort after this amount of idle time. (default=900s)--parent-deathβ Exit if parent process dies.-w,--tcp-window-size=<size>β Set TCP window size.-i,--min-backoff=<time>β Set initial value for backoff interval when worker fails to connect to a manager. (default=1s)-b,--max-backoff=<time>β Set maxmimum value for backoff interval when worker fails to connect to a manager. (default=60s)-A,--arch=<arch>β Set the architecture string the worker reports to its supervisor. (default=the value reported byuname)-O,--os=<os>β Set the operating system string the worker reports to its supervisor. (default=the value reported byuname)-s,--workdir=<path>β Set the location where the worker should create its working directory. (default=/tmp)--bandwidth <mbps>β Set the maximum bandwidth the foreman will consume in Mbps. (default=unlimited)--cores <n>β Set the number of cores this worker should use. Set it to 0 to have the worker use all of the available resources. (default=1)--gpus <n>β Set the number of GPUs this worker should use. (default=0)--memory <mb>β Manually set the amount of memory (in MB) reported by this worker.--disk <mb>β Manually set the amount of disk space (in MB) reported by this worker.--wall-time <s>β Set the maximum number of seconds the worker may be active.--feature <feature>β Specifies a user-defined feature the worker provides (option can be repeated).--volatility <chance>β Set the percent chance per minute that the worker will shut down (simulates worker failures, for testing only).
β οΈ Heads up bestie: --volatility is for testing only. She's out here faking her own collapse on purpose, that is not a production vibe.
π FOREMAN MODE π
work_queue_worker can also be run in foreman mode, in which it connects to a manager as a worker while acting as a manager itself. Any tasks the foreman receives from its manager are sent to its subordinate worker processes. It's giving manager and employee. Main character energy. β¨
Foreman mode is enabled by either specifying a port to listen on using the -f <port> option or by setting the mode directly with the --foreman option. The foreman can be directed to advertise its presence on the catalog_server() with the -N <project name> flag, which other workers can use to contact the foreman.
π₯ EXIT STATUS π₯
On success, returns zero. On failure, returns non-zero. Simple as that, iykyk.
πΈ EXAMPLES πΈ
To run work_queue_worker to join a specific manager process running on host manager.somewhere.edu port 9123:
% work_queue_worker manager.somewhere.edu 9123
To run work_queue_worker in auto mode with debugging turned on for all subsystems and to accept tasks only from a manager application with project name set to project_A:
% work_queue_worker -a -d all -M project_A
To run work_queue_worker as a foreman working for project_A and advertising itself as foreman_A1 while listening on port 9123:
% work_queue_worker --foreman -M project_A -N foreman_A1 -f 9123
π COPYRIGHT π
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 π«Ά
- Cooperative Computing Tools Documentation
- Work Queue User Manual
work_queue_worker(1)work_queue_status(1)work_queue_factory(1)condor_submit_workers(1)sge_submit_workers(1)torque_submit_workers(1)
okay that's the whole page bestie, you're fully caught up π This one came to you straight from the CCTools 8.0.0 DEVELOPMENT era, and yeah, she's a work_queue_worker(1) girl through and through. Go run some tasks, you absolute icon. ππ¦β¨
π¦ where this page comes from
- debian bookworm: coop-computing-tools 9.9-2+b4 Β· GPL-2.0-only
- ubuntu jammy: coop-computing-tools 9.9-2ubuntu3 Β· GPL-2.0-only
- ubuntu noble: coop-computing-tools 9.9-4ubuntu4 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms