X-Git-Url: http://git.annexia.org/?p=whenjobs.git;a=blobdiff_plain;f=lib%2Fwhenexpr.ml;h=c2ffa334be9c77404579d21d23a15f4192c6ce66;hp=4e46968256d9edd8d05b2ac23677788faf8f7249;hb=57d21a4a716b513d93790262db4a663c169814bd;hpb=21a3155f8296175180e348f10a6a9af88e1ac87d diff --git a/lib/whenexpr.ml b/lib/whenexpr.ml index 4e46968..c2ffa33 100644 --- a/lib/whenexpr.ml +++ b/lib/whenexpr.ml @@ -106,6 +106,31 @@ let rpc_of_variable = function type variables = variable StringMap.t +type preinfo = { + pi_job_name : string; + pi_serial : Big_int.big_int; + pi_variables : (string * variable) list; + pi_running : preinfo_running_job list; +} +and preinfo_running_job = { + pirun_job_name : string; + pirun_serial : Big_int.big_int; + pirun_start_time : float; + pirun_pid : int; +} + +type result = { + res_job_name : string; + res_serial : Big_int.big_int; + res_code : int; + res_tmpdir : string; + res_output : string; + res_start_time : float; +} + +type pre = preinfo -> bool +type post = result -> unit + type job_cond = | When_job of whenexpr | Every_job of periodexpr @@ -113,6 +138,8 @@ type job_cond = type job = { job_loc : Loc.t; job_name : string; + job_pre : pre option; + job_post : post option; job_cond : job_cond; job_script : shell_script; }