
scheduler commands:

task (taskname)
 - define a new task
 - loads task-related commands from list / readline
 - commands are parsed on load
 - end with end (like if / for)

task.exit (value)
 - define a new task macro for this exit condition
   (value) may be an exit status (number)
   (value) may be 'timeout'
   (value) may be 'crash' ?
 - commands are parsed on execution (not on definition)

task.exec
 - define a task macro for exec condition
 - commands are parsed on execution (not on definition)

command (args) (args)
 - defines command associated with task
 - may be in task or in task.macro (exit/exec)
   (in task, command line is static; in task.macro, command line is expanded for each instance)

host (machine)
 - defines preferred host
 - may be in task or in task.macro (exit/exec)
   (in task, value is static; in task.macro, value is defined for each instance)

stderr (file / variable)
 - defines destination for stderr capture from task
 - written to destination at end of execution?

stdout (file / variable)
 - defines destination for stdout capture from task
 - written to destination at end of execution?

periods -poll 1
periods -exec 30
periods -timeout 2
 - defines relevant time-scale for the task

schedule
 - runs the scheduler loop, executing the various tasks

scheduler functions:

InitTasks ();
FindTask ();
CreateTask ();

