% % establish timer % % stack: process step-params object interval % dup !Act.Interval !Event.Interval dup !Act.Object !Event.Object dup !Act.Step !Event.Step % % mark the build timing of the activity % Time.Now dup !Act.Time dup !Event.Time "Act." &_Act.Object ! % % create the event preamble, prefix to timer exec string % empty "Event.Time" sval "Event.Object" sval "Event.Step" sval ^ % % stack: extended-exec-string % % the Step string uses _ separators to impart event actions % timer invokes current date-time with added interval when issuing the timer % _Act.Object &"_" &_Act.Step text conn _Act.Interval % % stack: timer-content timer-name timer-path timer-interval % basenow add "timer" &_Arching.ServLock &"_" ^ &"_" &3) dup % % stack: timer-content timer-path timer-file timer-file % ^3) rot exch write %%% timer "timer" log)( % % timer has format timerXx00X_TTTTTT_object_step[_stepb . . . .].txt %