Early exit

This functionality is available since 1.7, but needed to be explicitly activated until version 2.0

Note that, in all cases, the process will only exit after finishing a task. If you set a time limit and that time is reach while a task is running, then the task will keep going.

Maximum running time

The following variables specify the maximum running time:

  • JUG_MAX_HOURS

  • JUG_MAX_MINUTES

  • JUG_MAX_SECONDS

The names should be self-explanatory, but note that they are additive, so that JUG_MAX_HOURS=1 JUG_MAX_MINUTES=30 means that the process will run for 1 hour and 30 minutes.

from jug.hooks.exit_checks import exit_after_time
exit_after_time(hours=..., minutes=..., seconds=...)

Exiting if a file exists

This can be specified by the environmental variable JUG_EXIT_IF_FILE_EXISTS, but the filename __jug_please_stop_running.txt is always added as well.

To achieve the same with code, run:

from jug.hooks.exit_checks import exit_if_file_exists
exit_if_file_exists('__jug_please_stop_running.txt')

Exiting after a specified number of tasks

Use the variable JUG_MAX_TASKS or run the following code:

from jug.hooks.exit_checks import exit_after_n_tasks
exit_after_n_tasks(int(environ['JUG_MAX_TASKS']))