Provided by: aolserver4-dev_4.5.1-18.1_amd64 bug

NAME

       ns_after,   ns_cancel,  ns_pause,  ns_resume,  ns_schedule_daily,  ns_schedule_proc,  ns_schedule_weekly,
       ns_unschedule_proc - commands

SYNOPSIS

       ns_after seconds {script | procname ?args?}

       ns_cancel id

       ns_pause id

       ns_resume id

       ns_schedule_daily ?-thread? ?-once? hour minute {script | procname ?args?}

       ns_schedule_proc ?-thread? ?-once? interval {script | procname ?args?}

       ns_schedule_weekly ?-thread? ?-once? day hour minute {script | procname ?args?}

       ns_unschedule_proc id
_________________________________________________________________

DESCRIPTION

       ns_after
              run the specified script or procedure  after the specified number of seconds

              ns_after returns an id which can be used with the ns_pause, ns_cancel and ns_resume apis.

       ns_cancel
              stops the scheduled running of the id returned by an ns_after

              returns 1 if unscheduled 0 if the script of procedure couldn't be unscheduled

       ns_pause
              pauses the scheduled running of the id returned by an ns_after

              returns 1 if paused, 0 if the script of procedure couldn't be paused

       ns_resume
              resumes the scheduled running of the id returned by an ns_after

              returns 1 if resumed, 0 if the script of procedure couldn't be resumed

       ns_schedule_daily
              ns_schedule_daily runs the specified Tcl script or procedure (procname) once a  day  at  the  time
              specified by hour and minute. The hour can be from 0 to 23, and the minute can be from 0 to 59.

              Specify  -thread  if you want a thread created to run the procedure. This will allow the scheduler
              to continue with other scheduled procedures. Specifying -thread is appropriate in situations where
              the script will not return immediately, such as when the script performs network activity.

              Specify  -once if you want the script to run only one time. The default is that the script will be
              re-scheduled after each time it is run.

              ns_schedule_daily returns an id number for the scheduled procedure that  is  needed  to  stop  the
              scheduled procedure with ns_unschedule_proc.

       ns_schedule_proc
              ns_schedule_proc runs the specified Tcl script or procedure (procname) at an interval specified by
              interval. The interval is the number of seconds between runs of the script.

              Specify -thread if you want a thread created to run the procedure. This will allow  the  scheduler
              to continue with other scheduled procedures. Specifying -thread is appropriate in situations where
              the script will not return immediately, such as when the script performs network activity.

              Specify -once if you want the script to run only one time. The default is that the script will  be
              re-scheduled after each time it is run.

              ns_schedule_proc  returns  an  id  number  for  the scheduled procedure that is needed to stop the
              scheduled procedure with ns_unschedule_proc.

       ns_schedule_weekly
              ns_schedule_weekly runs the specified Tcl script or procedure (procname) once a week  on  the  day
              specified  by  day  and the time specified by hour and minute. The day can be from 0 to 6, where 0
              represents Sunday. The hour can be from 0 to 23, and the minute can be from 0 to 59.

              Specify -thread if you want a thread created to run the procedure. This will allow  the  scheduler
              to continue with other scheduled procedures. Specifying -thread is appropriate in situations where
              the script will not return immediately, such as when the script performs network activity.

              Specify -once if you want the script to run only one time. The default is that the script will  be
              re-scheduled after each time it is run.

              ns_schedule_weekly  returns  an  id  number for the scheduled procedure that is needed to stop the
              scheduled procedure with ns_unschedule_proc.

       ns_unschedule_proc id
              ns_unschedule_proc stops a scheduled procedure from executing anymore. The scheduled procedure  to
              be  stopped is identified by its id, which was returned by the ns_schedule* function that was used
              to schedule the procedure.

EXAMPLES

       ns_after ns_cancel ns_pause ns_resume
              This example illustrates a web interface used to manage jobs. Depending on the action  provided  a
              job can be created, cancelled, paused or resumed.

              set action [ns_queryget action] set job [ns_queryget job] switch $action {
                  create {
                      set job [ns_after 10 [ns_queryget script]]
                      ns_puts "Job created with id: $job"
                  }
                  cancel {
                      if {[ns_cancel $job]} {
                          ns_puts "Job $job cancelled"
                      } else {
                          ns_puts "Job $job not cancelled"
                      }
                  }
                  pause {
                      if {[ns_pause $job]} {
                          ns_puts "Job $job paused"
                      } else {
                          ns_puts "Job $job not paused
                      }
                  }
                  resume {
                      if {[ns_resume $job]} {
                          ns_puts "Job $job resumed"
                      } else {
                          ns_puts "Job $job couldn't be resumed"
                      }
                  }
                  default {
                      ns_puts "Invalid action $action"
                  } }

       ns_schedule_daily
              This  example  defines  a script called rolllog that uses ns_accesslog to roll the access log to a
              file with an extension containing the current date. The  ns_schedule_daily  function  is  used  to
              execute the rolllog script on a daily basis.

              # Script to roll and rcp log file to host "grinder" proc rolllog {} {
                  set suffix [ns_strftime "%y-%m-%d"]
                  set new [ns_accesslog file].$suffix
                  ns_accesslog roll $new
                  exec  rcp  $new  grinder:/logs/[file  tail $new] } # Schedule "rolllog" to run at 3:30 am each
              morning ns_schedule_daily -thread 3 30 rolllog

       ns_schedule_proc proc dosomething blah {
           ns_log Notice "proc with arg '$blah'" } ns_schedule_proc 10 dosomething $arg1

SEE ALSO

KEYWORDS

       schedule pause resume unschedule cancel after