vine_worker(1)

πŸ“¦
version 7.15.9 Β· 2 versions
, in ubuntu resolute, ubuntu stonking

πŸŽ€ NAME πŸŽ€

vine_worker β€” the worker process that runs the tasks dispatched through TaskVine πŸ’–


✨ SYNOPSIS ✨

vine_worker [options] <manager_host> <manager_port>

vine_worker [options] <manager_host:manager_port]>

vine_worker [options]
"<manager_host:manager_port;[manager_host:port;manager_host:port;...]>)

vine_worker [options] -M <projectname>

πŸ’… DESCRIPTION πŸ’…

okay so vine_worker is the worker process, right? it runs the tasks that get dispatched from a manager application built with the TaskVine API. it connects to that manager app, accepts tasks, runs them, and sends the results back. no cap.

and it's also lowkey a hoarder in the best way: vine_worker caches data it got from external services plus the output from tasks it recently computed, and keeps all of it on disk so future applications go faster. ✨

the managerhost and port arguments are literally just the hostname and port number of the manager application it should connect to. you can specify several managerhosts and ports if you want, separated with a semicolon (;), and the worker will connect to any of the managers you named. 🫢

⚠️ when you're specifying multiple managers, remember to escape the ; from shell interpretation, for example by using quotes. the shell will absolutely eat it otherwise, bestie.

alternatevely, the manager may be specified by name, using the -M option. πŸ‘‘

and here's the fun part β€” vine_worker can run locally, or it can be deployed remotely on any of the grid or cloud computing environments such as UGE, PBS, SLURM, and HTCondor, using vine_submit_workers(1) or vine_factory(1). main character energy fr fr 🌈


🌸 OPTIONS 🌸

  • -v, --version β€” shows the version string. that's it, that's the whole vibe. πŸ’«
  • -h, --help β€” shows this help message.
  • -M, --manager-name=<name> β€” sets the name of the project this worker should work for. and yes, a worker can have multiple projects. she's versatile like that. πŸ’…
  • -C, --catalog=<catalog> β€” sets the catalog server to <catalog>. format: HOSTNAME:PORT
  • -d, --debug=<flag> β€” turns on debugging for the given subsystem. try -d all as a start. πŸ”₯
  • -o, --debug-file=<file> β€” writes debugging output to this file. by default, debugging goes to stderr (":stderr"). you can also send logs to stdout (":stdout") instead if that's your thing.
  • --debug-max-rotate=<bytes> β€” sets the maximum file size of the debug log. if the log goes over this size, it gets renamed to "filename.old" and a fresh logfile is opened. (default=10M. 0 disables it.)
  • --debug-release-reset β€” the debug file will be closed, renamed, and a new one opened after being released from a manager. 🧚
  • -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 the parent process dies. 😭
  • -w, --tcp-window-size=<size> β€” sets the TCP window size.
  • -i, --min-backoff=<time> β€” sets the initial value for the backoff interval when the worker fails to connect to a manager. (default=1s)
  • -b, --max-backoff=<time> β€” sets the maxmimum value for the backoff interval when the worker fails to connect to a manager. (default=60s)
  • -A, --arch=<arch> β€” sets the architecture string the worker reports to its supervisor. (default=the value reported by uname)
  • -O, --os=<os> β€” sets the operating system string the worker reports to its supervisor. (default=the value reported by uname)
  • --workspace=<path> β€” sets the workspace directory where the worker keeps its cache, its task sandboxes, and where it does data transfers and all that. by default this directory is /tmp/worker-UID-PID and it gets deleted when the worker exits. OPTION_LONG(keep-workspace) do not delete the contents of the workspace on worker exit. this permits the worker to restart at a later time and recover the contents of its cache directory. πŸ—‚οΈ
  • --cores=<n> β€” sets 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> β€” sets the number of GPUs this worker should use. if it's less than 0 or not given, it tries to detect the gpus available. πŸ‘‘
  • --memory=<mb> β€” manually sets the amount of memory (in MB) reported by this worker.
  • --disk=<mb> β€” manually sets the amount of disk space (in MB) reported by this worker.
  • --wall-time=<s> β€” sets the maximum number of seconds the worker may be active.
  • --feature=<feature> β€” specifies a user-defined feature the worker provides. (this option can be repeated.) 🌟
  • --volatility=<chance> β€” sets the percent chance per minute that the worker will shut down. it simulates worker failures, and it is for testing only. πŸ’€
  • --connection-mode=<mode> β€” when using -M, overrides the manager preference for resolving its address. one of by_ip, by_hostname, or by_apparent_ip. the default is set by the manager.
  • --transfer-port=<port> β€” listening port for worker-worker transfers. (default: any)
  • --contact-hostport=<hostport> β€” explicit contact host:port for worker-worker transfers, e.g., when routing is used. (default: :<transfer_port>)
  • --ssl β€” enable tls connection to manager (the manager should support it). πŸ”
  • --tls-sni=<> β€” SNI domain name if different from manager hostname. implies --ssl.

🌈 EXIT STATUS 🌈

on success, returns zero. on failure, returns non-zero. simple as that. ✨


πŸ’– EXAMPLES πŸ’–

to run vine_worker to join a specific manager process running on host manager.somewhere.edu port 9123:

% vine_worker manager.somewhere.edu 9123

to run vine_worker in auto mode with debugging turned on for all subsys‐tems and to accept tasks only from a manager application with project name set to project_A:

% vine_worker -a -d all -M project_A

The Cooperative Computing Tools are Copyright (C) 2022 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 β€” this was CCTools 7.15.9 FINAL, so go forth and slay some tasks πŸ’…βœ¨πŸŽ€

πŸ“¦ where this page comes from