Provided by: aolserver4-dev_4.5.1-16_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