repeat
======

Tags: dfhack

Command: "repeat"

  Call a DFHack command at a periodic interval.

You can use this utility command to periodically call other DFHack commands. This is especially useful for setting up "maintenance" commands that you want called every once in a while but don't want to have to remember to run yourself.


Usage
-----

"repeat [--name <name>] --time <delay> [--timeUnits <units>] --command [ <command> ]"
   Register the given command to be run periodically.

"repeat --list"
   Show the currently registered commands and their names.

"repeat --cancel <name>"
   Unregister the given registered command.


Examples
--------

"repeat --name orders-sort --time 600 --command [ orders sort ]"
   Sort your manager workorders every 600 ticks (about half a day).

"repeat --time 10 --timeUnits days --command [ warn-starving ]"
   Check for starving dwarves and pets every 10 game days.

"repeat --cancel warn-starving"
   Unregister the warn-starving command registered above.


Options
-------

"--name <name>"
   Registers the command under the given name. This ensures you have a memorable identifier for the "--list" output so you can unregister the command if you want. It also prevents the same command from being registered twice. If not specified, it's set to the first argument after "--command".

"--time <delay>"
   Sets the delay between invocations of the command. It must be a positive integer.

"--timeUnits <units>"
   A unit of time for the value passed with the "--time" option. Units can be "frames" (raw FPS), "ticks" (unpaused game frames), or the in-world time measurements of "days", "months", or "years". If not specified, "ticks" is the default.

"--command [ ... ]"
   The "..." specifies the command to be run, just as you would write it on the commandline. Note that the command must be enclosed in square brackets.


Registering commands
--------------------

It is common that you want to register the same set of commands every time you load a game. For this, it is convenient to add the "repeat" commands you want to run to the "dfhack-config/init/onMapLoad.init" file so they are run whenever you load a fort.
