Configuration File

The 'taskforest' and 'status' commands now accept a ``--config_file=f'' option. You can now specify commonly used options in the config file, so you do not have to include them on the command line. The config file should contain one option per command line. The following sample config file shows the list of all supported options, and documents their usage.

    # ########################################
    # SAMPLE CONFIG FILE
    # ########################################
    # These are the four required command line
    # arguments to taskforest
    log_dir         = "t/logs"
    family_dir      = "/usr/local/taskforest/families"
    job_dir         = "/usr/local/taskforest/jobs"
    run_wrapper     = "/usr/local/bin/run"

    # the name of the directory that contains calendar files
    calendar_dir    = "/usr/local/taskforest/calendars"

    # wait this many seconds between iterations of
    # the main loop
    wait_time       = 60

    # stop taskforest at this time of day
    end_time        = 2355

    # if set to 1, run taskforest once only and
    # exit immediately after that
    once_only       = 0

    # print out extra logs - may be redundant,
    # due to log_threshold, below
    # THIS OPTION WILL BE DEPRECATED SOON.
    verbose         = 0

    # by default assume that the --collapse option
    # was given to the status command
    collapse        = 1  # change from previously
                         # default behavior

    # by default assume that all repeating jobs
    # have the --chained=>1 attribute set
    chained         = 1  # change from previously
                         # default behavior

    # log stdout and stderr to files
    log             = 1

    # by default, log stdout messages with status >= this value.
    # This only effects stdout
    # The sequence of thresholds (smallest to largest) is:
    # debug, info, warn, error, fatal
    log_threshold   = "warn"

    # The log_file and err_file names should NOT end with
    # '.0' or '.1' because then they will be mistaken for
    # job log files
    log_file        = "stdout"
    err_file        = "stderr"

    # currently unused
    log_status      = 0

    # ignore family files whose names match these regexes
    ignore_regex    = "~$"
    ignore_regex    = ".bak$"
    ignore_regex    = '\$'

    # There are two types of tokens in this example:
    # T - with 1 instance
    # U - with 2 instance
    <token T>
      number = 1
    </token>
    <token U>
      number = 2
    </token>