aboutsummaryrefslogtreecommitdiffstats
path: root/doc/info/chap
diff options
context:
space:
mode:
authorMattias Andrée <maandree@member.fsf.org>2015-12-30 17:54:28 +0100
committerMattias Andrée <maandree@member.fsf.org>2015-12-30 17:54:28 +0100
commit83adb095392263902153ff67e14c64c003c5c240 (patch)
tree2f40818506ae7d66803c74a3c13172e6eef5320d /doc/info/chap
parentwhitespace + new chapters to write (diff)
downloadsat-83adb095392263902153ff67e14c64c003c5c240.tar.gz
sat-83adb095392263902153ff67e14c64c003c5c240.tar.bz2
sat-83adb095392263902153ff67e14c64c003c5c240.tar.xz
hooks
Signed-off-by: Mattias Andrée <maandree@member.fsf.org>
Diffstat (limited to 'doc/info/chap')
-rw-r--r--doc/info/chap/hooks.texinfo44
1 files changed, 43 insertions, 1 deletions
diff --git a/doc/info/chap/hooks.texinfo b/doc/info/chap/hooks.texinfo
index 6ade0d9..f104950 100644
--- a/doc/info/chap/hooks.texinfo
+++ b/doc/info/chap/hooks.texinfo
@@ -1,5 +1,47 @@
@node Hooks
@chapter Hooks
-TODO
+@command{satd} runs a hook script, if available, whenever
+something important happens. The pathname of the hook
+script is determined by the environment variable
+@env{SAT_HOOK_PATH}, see @ref{Invoking} for its fallbacks.
+
+The script is run when a job as run and removed. The script
+will run with an environment identical to the job, which is
+idential to the environment @command{sat} had when the job
+was queued. The first argument, excluding the zeroth argument
+(the pathname of the script) in the hook script's command
+line will be the action that is performed, the following
+arguments are job's command line arguments including the
+zeroth argument (the name of the command). Possible actions
+are:
+@table @code
+@item expired
+The job will run momentarily as scheduled.
+@item forced
+The job will run momentarily due to use of @command{satr}.
+@item failure
+The job could not be executed or failed.
+@item success
+The job ran successfully.
+@item removed
+The job with removed using @command{satrm}.
+@end table
+@noindent
+@command{satd} ensure that the script is not run between
+@code{expired} and @code{forced} and corresponding
+@code{failure} or @code{success}.
+
+A very simple way to inform when these actions take place
+is to use the script
+@example
+#!/bin/sh
+action="$1"
+shift 1
+exec wall -n "sat: $action $JOBNAME ($*)"
+@end example
+@noindent
+and always set the environment variable @env{JOBNAME}
+to a string that identifies the job when queuing it
+using @command{sat}.