Performing Actions on Jobs with jnanny (JOB CONTROL IS DEPRECATED)

The jnanny script scans the job database and performs tasks defined by plugin modules. These tasks include checking for jobs that are stranded or appear to be stuck in a particular state, and then initiating a recovery process and updating the job database. This script is run periodically by jserver. The interval at which an action is performed can be defined by setting an environment variable or using the -set option—see Table 1. The default unit is seconds, but you can specify a time in minutes, hours, or days by appending m, h, or d to the value.

Since jnanny is run periodically, it should not in general be necessary to run it manually. However, you can do so if the need arises, with the following command:

$SCHRODINGER/utilities/jnanny [options] [plugins]

For information on the options and plugins, run jnanny -h. If no plugins are specified, all plugins are called. You can abbreviate a plugin specification to the shortest unique string.

Table 1. Settings and environment variables for jnanny actions

Parameter

Description

CheckStranded module settings

stranded_threshold

An active job whose job record has not been updated for this length of time is checked to verify that it is still running.

Default: 10m. Minimum: 1m. 0 disables checking.

Environment variable: SCHRODINGER_STRANDED_THRESHOLD

stranded_interval

Interval at which jnanny checks for stranded jobs.

Default: 10m. Minimum: 20s

Environment variable: SCHRODINGER_STRANDED_INTERVAL

death_threshold

An active job that is unreachable for this length of time is marked dead.

Default: 2h. Minimum: 10m. 0 means infinite time.

Environment variable: SCHRODINGER_DEATH_THRESHOLD

CleanupDatabase module settings

jobdb_cleanup

A completed job that is not part of an active distributed job is deleted from the job database after this length of time.

Default: 7d. 0 turns off subsequent cleanup after cleaning up.

Environment variable: SCHRODINGER_JOBDB_CLEANUP

forced_cleanup

All jobs that have been in the database longer than this length of time are deleted from the job database, regardless of status.

Default: 2 months. 0 turns off subsequent cleanup.

Environment variable: SCHRODINGER_FORCED_CLEANUP

jobdb_maxsize

If there are more than this many jobs in the job database, completed jobs that are not part of an active distributed job are cleaned up to lower the number of jobs below this limit.

Default: 2000. Minimum: 0.

Environment variable: SCHRODINGER_JOBDB_MAXSIZE

logfile_cleanup

Remove a rotated jserver or jproxy log file that is older than this value.

Default: 30d. Minimum: 1m.

Environment variable: SCHRODINGER_LOGFILE_CLEANUP

CheckSubmitted module settings

submitted_interval

Interval at which jnanny checks for stranded jobs that are submitted.

Default: 10m. Minimum:1m.

Environment variable: SCHRODINGER_SUBMITTED_INTERVAL

submitted_threshold

A submitted job that has not started running after this length of time is checked to make sure it is still on the queue.

Default: 5m; Minimum: 1m

Environment variable: SCHRODINGER_SUBMITTED_THRESHOLD