RunScheduledTask

RunScheduledTask[expr]
schedules and starts a local scheduled task that will repeatedly evaluate expr once per second.

RunScheduledTask[expr,time]
schedules and starts a task that will repeatedly evaluate expr every time seconds.

RunScheduledTask[expr,{time}]
schedules and starts a task that will evaluate expr once after time seconds.

RunScheduledTask[expr,{time,count}]
schedules and starts a task that will try evaluating expr once every time seconds up to count times.

RunScheduledTask[expr,timespec,start]
schedules a task that will automatically start at start time.

RunScheduledTask[CloudObject[...]]
asynchronously executes an existing cloud task or document generator.

Details and OptionsDetails and Options

  • For local tasks, RunScheduledTask returns a ScheduledTaskObject expression representing the started task. For cloud tasks and document generators, RunScheduledTask returns the task's CloudObject.
  • RunScheduledTask creates a task to be run locally in the current Wolfram Language session. No task state is preserved between sessions.
  • RunScheduledTask[x] is effectively equivalent to StartScheduledTask[CreateScheduledTask[x]].
  • The start is taken to be the absolute time when the task is activated.
  • The first evaluation of expr will occur time seconds after it is activated.
  • If two tasks are scheduled to evaluate at the same time, the one added later will execute first.
  • By default, if the time necessary to evaluate expr is larger than time, the next pending evaluation is skipped.

ExamplesExamplesopen allclose all

Basic Examples  (11)Basic Examples  (11)

The timer fires off at the end of the specified three-second interval:

In[1]:=
Click for copyable input
In[2]:=
Click for copyable input
In[3]:=
Click for copyable input

Perform an action the specified number of times:

In[1]:=
Click for copyable input
Out[1]=
In[2]:=
Click for copyable input

Create a task that will be activated 5 seconds from the current time and will print 1 second later:

In[1]:=
Click for copyable input
Out[1]=

Specify a date to activate the task:

In[1]:=
Click for copyable input
Out[1]=

Front end versus kernel clocks:

In[1]:=
Click for copyable input
In[2]:=
Click for copyable input
Out[2]=
Out[2]=
In[3]:=
Click for copyable input

Create a task with random wait periods:

In[1]:=
Click for copyable input
In[2]:=
Click for copyable input
In[3]:=
Click for copyable input
In[4]:=
Click for copyable input

Create a task that restarts evaluation as soon as it finishes:

In[1]:=
Click for copyable input
In[2]:=
Click for copyable input
In[3]:=
Click for copyable input

Create a task that runs only once and removes itself after finishing:

In[1]:=
Click for copyable input
In[2]:=
Click for copyable input
Out[2]=

Create a task that removes itself once a condition is met:

In[1]:=
Click for copyable input

Create a task that removes itself when an external variable is changed:

In[1]:=
Click for copyable input

Cause the task to be stopped and removed:

In[2]:=
Click for copyable input
Out[2]=

Control evaluation in the scheduled task by changing an external variable:

In[1]:=
Click for copyable input

Pause the evaluation without stopping the task:

In[2]:=
Click for copyable input
Out[2]=

Re-enable the evaluation:

In[3]:=
Click for copyable input
Out[3]=
In[4]:=
Click for copyable input
Introduced in 2010
(8.0)
| Updated in 2014
(10.0.2)