Configuration

Path: /src/configSchema.coffee compiled to /lib/configSchema.js

To configure this module to your needs, please make a new configuration file for /exec context. To do so you may copy the base settings from src/config/exec.yml into var/local/config/exec.yml and change it’s values or put it into your applications configuration directory.

Like supported byalinex-config you only have to write the settings which differ from the defaults.

The configuration contains the following three parts:

  • retry handling
  • priorities
  • groups

But you additionaly may write the ssh connection details within the /ssh/server section described underalinex-ssh/src/configSchema.coffee.

/exec/retry

Retry is the retry of the process.

An object with the following keys have to be present: vital, queue, ulimit, error. The following entries have a specific format:

vital

Vital Sign Check is the check for host vital data.

An object with the following keys have to be present: interval, startload. The following entries have a specific format:

interval

Time before Recheck is the time to wait before rechecking the host vital signs.

A time interval as float, in time format or as text which may use a combination of values with the units: ms, s, m, h, d. The result will be given as the number of ms. A numeric floating point number. The value should be greater than 0.

startload

Start Limit is the maximum load% per CPU core per second in usage to start.

A percentage value as decimal like 0.3 but it may be given as percent or per mille value text like 30% or 30‰, too. A numeric floating point number. The value should be greater than 0.01.

queue

Work Queue is the handling of the queue if load is too high.

An object with the following keys have to be present: interval. The following entries have a specific format:

interval

Recheck Time is the time after that the worker will retry to start queued executions.

A time interval as float, in time format or as text which may use a combination of values with the units: ms, s, m, h, d. A numeric floating point number. The value should be greater than 0.

ulimit

Retry if ULimit is the retry if the process limit is reached.

An object with the following keys have to be present: interval. The following entries have a specific format:

interval

Time to Wait is the time to wait before retrying a failed attempt.

A time interval as float, in time format or as text which may use a combination of values with the units: ms, s, m, h, d. The result will be given as the number of ms. A numeric floating point number. The value should be greater than 0.

error

Retry if Failed is the retry after failed retry checks.

An object with the following keys have to be present: times, interval. The following entries have a specific format:

times

Number of Attempts are the number of maximal attempts to run successfully.

An integer value. The value should be greater than 0.

interval

Time to Wait is the time to wait before retrying a failed attempt.

A time interval as float, in time format or as text which may use a combination of values with the units: ms, s, m, h, d. The result will be given as the number of ms. A numeric floating point number. The value should be greater than 0.

/exec/priority

Priorities are the setup of priorities.

An object with the following keys have to be present: default, level. The following entries have a specific format:

default

Default Priority is the default priority as reference to one of the defined list entries.

A text entry in which all control characters will be removed.

level

Priority Levels are the definition of all possible priorities.

An object. The entries are:

  • any key: Priority Level is the definition of one priority level.

    An object which is optional. The following keys are allowed: maxCpu, maxLoad, minFreemem, nice. The following entries have a specific format:

    maxCpu

    Max CPU is the maximum cpu usage, till that execution may be started.

    A percentage value as decimal like 0.3 but it may be given as percent or per mille value text like 30% or 30‰, too. A numeric floating point number. The value should be between 0 and 1.

    maxLoad

    Max Load is the maximum system load, till that execution may be started.

    A list. You may also give a text or RegExp using ‘/\s/’ as separator for the individual entries. The number of entries have to be between 1 and 3 elements. Each entry has to be of type percent:

    Max Load is the maximum system load for period.

    A percentage value as decimal like 0.3 but it may be given as percent or per mille value text like 30% or 30‰, too. A numeric floating point number. The value should be greater than 0.

    minFreemem

    Min free Mem is the minimum free memory needed to execute.

    A percentage value as decimal like 0.3 but it may be given as percent or per mille value text like 30% or 30‰, too. A numeric floating point number. The value should be greater than 0.

    nice

    Nice is the niceness of the process.

    An integer value. The value should be between -20 and 19.

/ssh/group and /ssh/server

See description underalinex-ssh/src/configSchema.coffee.