Icon

This is the documentation for an older version of Qube. The latest version of the documentation can be found here: Qube

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Job and Worker Restrictions

Restrictions are used to allow or restrict where jobs run, and are applied to both jobs and workers.  Restrictions are based on cluster names, but differ from the clusters themselves by an important difference:

...

When a worker has a restriction defined via its worker_restrictions value, it means only run jobs whose cluster value matches one of the clusters in that worker's restriction expression.  The worker won't accept jobs whose cluster doesn't match one of the clusters in the worker's restriction expression.

Restrictions Syntax

A restriction is really defined as a "filter" for hosts based upon information in the queuing algorithm; the values are one or more cluster names. In the priority/cluster queuing system, a user specifies their restrictions by directory structure format:

...

Note

The restriction value is actually evaluated as an expression, and multiple clusters are specified in a "this cluster OR that cluster OR the other cluster" type of string, with the "||" symbol to mean OR.

Worker Restrictions Example

Accept jobs in /hello/world, but do not include lower levels:

...

Accept jobs in /hello or /goodbye:

  • /hello || /goodbye

Job Restrictions Examples

Run on workers in /hello/world, but do not include lower levels:

...