Skip to main content
Schedule Functions to run automatically at specific times using cron expressions.

Overview

Function scheduling allows you to:
  • Run automations on a regular schedule (daily, weekly, hourly, etc.)
  • Execute tasks at specific times
  • Automate recurring workflows
  • Monitor websites continuously
Schedules are configured in the Notte Console and run automatically on Notte’s infrastructure.

Creating a Schedule

Via Console

  1. Go to console.notte.cc/workflows
  2. Select your Function
  3. Click “Schedule”
  4. Enter cron expression
  5. Set parameters (variables)
  6. Save schedule

Cron Expression Format

Cron expressions define when Functions run:

Common Schedules

Every Minute

Run function every minute. Use for: Real-time monitoring, high-frequency updates

Every Hour

Run at the start of every hour (e.g., 1:00, 2:00, 3:00). Use for: Hourly data collection, periodic checks

Every Day at 9 AM

Run every day at 9:00 AM. Use for: Daily reports, morning data sync

Every Monday at 8 AM

Run every Monday at 8:00 AM. Use for: Weekly reports, start-of-week tasks

First Day of Month

Run at midnight on the 1st of every month. Use for: Monthly reports, billing cycles

Every 15 Minutes

Run every 15 minutes. Use for: Frequent monitoring, regular updates

Weekdays at 6 PM

Run at 6:00 PM Monday through Friday. Use for: End-of-day business tasks

Multiple Times Per Day

Run at 9 AM, 12 PM, 3 PM, and 6 PM every day. Use for: Regular business hours monitoring

Use Cases

1. Daily Price Monitoring

Monitor competitor pricing every day:
price_monitor.py
Schedule: 0 9 * * * (Every day at 9 AM)

2. Hourly Data Collection

Collect data every hour:
data_collector.py
Schedule: 0 * * * * (Every hour)

3. Weekly Reports

Generate reports every Monday:
weekly_report.py
Schedule: 0 8 * * 1 (Every Monday at 8 AM)

4. Continuous Monitoring

Monitor website availability every 5 minutes:
uptime_monitor.py
Schedule: */5 * * * * (Every 5 minutes)

Schedule Parameters

Static Parameters

Set fixed parameters for scheduled runs:
Every scheduled run uses these parameters.

Dynamic Parameters

Use environment variables or context:
dynamic_params.py

Managing Schedules

View Scheduled Runs

Check upcoming scheduled executions in the Console:
  1. Go to Function details
  2. View “Scheduled Runs” section
  3. See next execution time
  4. View execution history

Pause Schedule

Temporarily disable schedule:
  1. Go to Function schedules
  2. Toggle schedule off
  3. Resume later without losing configuration

Delete Schedule

Remove schedule permanently:
  1. Go to Function schedules
  2. Delete schedule
  3. Function can still be invoked manually

Monitoring Scheduled Functions

Execution History

View past scheduled runs:
execution_history.py

Failed Runs

Handle scheduled failures:
failed_runs.py

Alerts

Set up alerts for failures:
alerts.py

Best Practices

1. Use Appropriate Frequency

Match schedule to data update frequency:

2. Add Error Handling

Scheduled functions should handle errors gracefully:
error_handling.py

3. Set Reasonable Timeouts

set_timeouts.py

4. Monitor Schedule Health

Check that schedules are running:
weekly_health_check.py
Schedule: 0 0 * * * (Daily health check)

5. Use Idempotent Operations

Design functions to handle duplicate runs:
idempotent.py

Timezone Considerations

Schedules run in UTC by default. Convert to your timezone:
Or handle timezone in function:
timezone.py

Next Steps

Invocations

Learn how to invoke Functions manually

Management

Update and monitor Functions

Creating Functions

Write schedulable Functions

Console

Configure schedules in Console