Skip to main content
A task schedule runs a Python script or JAR from Amazon S3 on a recurring interval or cron schedule. Each execution has a processing window, run history, logs, and an execution identity. Use a schedule for recurring work such as a daily catalog-health report or an hourly data transformation. Use a one-off Job Run to submit an individual execution. Use Apache Airflow when you need to coordinate dependencies across jobs or systems. The API calls a schedule a trigger. Creating one also creates its Organization-owned task, which holds the script definition and input schema; you don’t need to create a schema yourself.

Before you start

  • A Wherobots account in an active Organization with task scheduling enabled.
  • A Python .py file or a .jar file, or the sample below.
  • For the REST API tab, a Wherobots API key, curl, and jq.

Write the script

Save this as window_report.py. It prints the supplied processing window and arguments; replace the commented example with your processing code when you’re ready.
window_report.py
Arguments that you set in the schedule’s args input arrive as ordinary command-line arguments, in sys.argv[1:]. For the full list of what a script receives, see Scripts and processing windows.

Store the script

Choose storage based on who will run the schedule:
  • Personal schedules: use My Files in the schedule’s region. Each region has its own My Files. A My Files script must belong to the Run as principal; Wherobots checks this on create, edit, and before each run.
  • Scripts other identities must run: use Managed Storage under data/shared/, for example for a schedule that runs as a service principal. Your Organization can read and modify these files. A person’s My Files cannot be used by a service principal.
  • Your own buckets: use an S3 Storage Integration accessible from the schedule’s region.
  • BYOC regions: store the script in an S3 Storage Integration, as for other BYOC Job Runs. See Run workloads in BYOC.
See script location and changes for access and versioning rules.

Configure the schedule

Create the schedule paused, verify an explicit window, then resume it. Run now starts billable compute.
1

Create a paused schedule

Open Scheduled Tasks and choose Create a schedule. Enter a Schedule name and choose Region. Select Create paused, which is unchecked by default.Click Browse. In Select script file, choose window_report.py from My Files for your region, for example My Files (aws-us-west-2). If you have not uploaded it yet, use the upload button in this dialog. In Upload File, confirm Uploads to My Files, then upload the script into the open folder. The source menu also offers Managed Storage and storage integrations for scripts other identities must run. For a JAR, you can provide Main class (optional).
Select script file dialog with window_report.py selected in My Files (aws-us-west-2)

Select script file, open on My Files in AWS US West (Oregon)

Choose Runtime. Set Arguments to --mode report. Whitespace separates arguments; quote values containing spaces. This field does not execute a shell or expand variables. Under Advanced execution settings, you can change Timeout (seconds), Runtime version, Spark settings, and dependencies. See Script inputs for defaults and the input visibility warning before adding configuration.Choose a Timing mode:
  • Simple interval: set Interval count and Interval unit. For intervals of a day or more, provide Start date, Start time, and Timezone.
  • Advanced cron: enter five fields in Cron expression (minute hour day month weekday) and choose Timezone. For this example, use 0 6 * * * with UTC.
Runs must be at least 15 minutes apart. Use cron for a fixed local clock time; review timezones and daylight saving time.Under Execution identity and notifications, leave Run as set to yourself for this personal script. See Who can manage a schedule to use a service principal. Set Notification email recipients if needed; see Failure emails for fallbacks.
Create a schedule form with Create paused checked, window-report as the name, My Files / window_report.py as the script, --mode report as the arguments, the Micro runtime, and AWS US West (Oregon) as the region

Create paused and the Script and compute settings for window-report

Click Create schedule.
2

Run an explicit window

Choose Run now. Set Window start to 12:00 AM on October 25, 2026 and Window end to 12:00 AM on October 26, 2026, then click Run now. Before submitting, check Run now and backfill for the display time zone and manual-run behavior.
Run now dialog for window-report with Window start 10/25/2026 12:00 AM and Window end 10/26/2026 12:00 AM

Run now with a custom window

3

Verify the run and its logs

Find the run under Run history. When its outcome is Succeeded, click Details ↗ to open its Job Run, then open the Logs tab and compare the output with the verification checklist. If it fails, inspect the outcome before continuing.
4

Resume recurring execution

When the output is correct, click Resume, then Resume schedule to confirm. The schedule shows Active, and Next run shows its next scheduled time.
window-report schedule marked Active with Next run Nov 4, 2026, 10:00 PM PST, and a Succeeded manual run for the Oct 25 to Oct 26 window in Run history

window-report after Resume, with the successful manual run in Run history

Verify your schedule

Confirm that the manual run succeeded and the logs contain the bounds you submitted, in UTC, and Arguments: ['--mode', 'report']. The run ID differs for each attempt. For the REST API example, the output is:
A Cloud UI run shows bounds converted from your Settings time zone: for example, 12:00 AM PDT on October 25 appears as 2026-10-25T07:00:00+00:00. After resuming, confirm ACTIVE and a next scheduled time. Allow time for the scheduler to apply the configuration; see Read schedule status. Check the next scheduled run in history to verify recurring execution.

Next steps

Scripts and processing windows

Configure runtime inputs and window-based processing.

Monitor and recover

Manage access, pause or archive schedules, and recover windows.