vine_worker - worker process for executing tasks dispatched through TaskVine


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>


vine_worker is the worker process for executing tasks dispatched from a manager application built using the TaskVine API. vine_worker connects to the manager application, accepts, runs, and returns tasks dispatched to it. vine_worker caches data obtained from external services and output from recently computed tasks and maintains it on disk to accelerate future applications.

The managerhost and port arguments specify the hostname and port number of the manager application for vine_worker to connect. Several managerhosts and ports may be specified, separated with a semicolon (;), with the worker connecting to any of the managers specified (When specifying multiple managers, remember to escape the ; from shell interpretation, for example, using quotes.)

Alternatevely, the manager may be specified by name, using the -M option.

vine_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.


  • -v,--version
    Show version string.
  • -h,--help
    Show this help message.
  • -M,--manager-name=<name>
    Set the name of the project this worker should work for. A worker can have multiple projects.
  • -C,--catalog=<catalog>
    Set catalog server to <catalog>. Format: HOSTNAME:PORT
  • -d,--debug=<flag>
    Enable debugging for the given subsystem. Try -d all as a start.
  • -o,--debug-file=<file>
    Write debugging output to this file. By default, debugging is sent to stderr (":stderr"). You may specify logs to be sent to stdout (":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.
  • -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 by uname)
  • -O,--os=<os>
    Set the operating system string the worker reports to its supervisor. (default=the value reported by uname)
  • --workspace=<path>
    Set the workspace directory where the worker keeps its cache, task sandboxes, performs data transfers, etc. By default, this directory is /tmp/worker-UID-PID and is 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>
    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. If less than 0 or not given, try to detect gpus available.
  • --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).
  • --connection-mode=<mode>
    When using -M, override manager preference to resolve its address. One of by_ip, by_hostname, or by_apparent_ip. Default is set by 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: :)

  • --ssl
    Enable tls connection to manager (manager should support it).

  • --tls-sni=<>
    SNI domain name if different from manager hostname. Implies --ssl.


On success, returns zero. On failure, returns non-zero.


To run vine_worker to join a specific manager process running on host port 9123:

% vine_worker 9123

To run vine_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:

% 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.