ScheduledTask

ScheduledTask[expr,timespec]

represents a scheduled task to be evaluated on the schedule defined by timespec.

Details and Options

  • CloudDeploy[ScheduledTask[]] deploys a scheduled task to be executed in the cloud.
  • SessionSubmit, LocalSubmit and CloudSubmit submit scheduled tasks for background evaluation in the current session, on the local system or in the cloud.
  • Submitted tasks can be controlled using TaskSuspend, TaskResume, etc.
  • The argument expr can be the Wolfram Language code to be evaluated, or a CloudObject or File containing Wolfram Language input.
  • The following time period specification can be given:
  • "Hourly"run once an hour
    "Daily"run once a day
    "Weekly"run once a week
    "Monthly"run once a month
    "Yearly"run once a year
    Quantity[...]run at a specified time interval
  • The following timespec specifications can be given:
  • periodrun once every period
    {period}run once after the period
    {period, count}run only count times ever
  • The following specifications can be given to limit when the task can be run:
  • {start,timespec}commence runs on date start
    {timespec,end}end runs on date end
    {start,timespec,end}run between dates start and end
  • start and end parameters should be given as a DateObject or other time specification.
  • Additional timespec specifications can be given:
  • DateObject[patt]run at times matching the specified pattern
    "cronspec"run at times specified by a Unix cron specification
    Nowrun immediately
    Nonerun on demand only
  • In DateObject[patt], the pattern patt has the form {y,m,d,h,m,s}, where later elements can be dropped, and where each element can be a literal integer, a choice of integers of the form n1|n2|, or _ representing any possible value. For the day element, literal days can be replaced by symbols indicating a day of the week, such as Monday.
  • The following options can be given:
  • AutoRemoveFalseremove task after its last scheduled run
    NotificationFunctionAutomatichow to provide notifications
    TimeZoneAutomatictime zone for scheduling
  • For purposes of NotificationFunction, a task is considered to have failed if its output is $Failed or a Failure object.
  • In the cloud, the precise times at which scheduled tasks are run are typically determined by load-balancing requirements.
  • The minimum time between repetitions of a task in the cloud is determined by cloud configuration and policies and will typically be a certain fraction of an hour.

Examples

open allclose all

Basic Examples  (6)

Create a scheduled task in a local session:

Create a scheduled cloud task that logs the date and temperature hourly:

Delete the task:

Create a scheduled task on a separate kernel:

Delete the task:

Create a scheduled cloud task that emails the task owner the temperature daily for the next month:

Delete the task:

Create a scheduled cloud task that logs the opening price of a financial instrument on weekdays:

Delete the task:

Create a scheduled cloud task that updates a time stamp in the cloud once a day:

Get the current time stamp:

Run the scheduled task cloud object using TaskExecute:

The time stamp has been updated:

Delete the task:

Generalizations & Extensions  (1)

Use TaskSuspend to suspend scheduled executions of a cloud-scheduled task:

Delete the task:

Options  (1)

NotificationFunction  (1)

Notifications allow indicated parties to receive status messages on task evaluation. Deploy a task that notifies multiple parties after every run:

Trigger the task to run asynchronously:

Trigger the task to run again:

Delete the task:

Applications  (1)

Create an application that sends an email alert based on a scheduled task:

Make a scheduled task that evaluates at 18:00 every day and checks tomorrow's moon phase:

Delete the task:

Introduced in 2014
 (10.0)
 |
Updated in 2017
 (11.2)