Python - schedule()

Creates a new Schedule to run a function on a defined frequency.

from nitric.resources import schedule
from nitric.application import Nitric
from nitric.context import IntervalContext

report_schedule = schedule('run-a-report')

@report_schedule.every('1 days')
async def process_transactions(ctx: IntervalContext):
  # do some processing
  pass

Nitric.run()

Parameters

  • Name
    description
    Required
    Required
    Type
    string
    Description

    The unique name of this Schedule within the app. Subsequent calls to schedule with the same name will return the same object.

  • Name
    every
    Required
    Required
    Type
    string
    Description

    The rate description for the schedule. Supported frequencies include seconds, minutes, hours and days. Using every as a keyword argument can help with readability of schedules, e.g.

    backup = schedule("backup")
    
    @backup.every("2 days")
    

Examples:

descriptionexample schedule
Every day@schedule("work").every("day")
Every 14 hours@schedule("work").every("14 hours")
Every 30 minutes@schedule("work").every("30 minutes")
Every day (cron)@schedule("work").cron("0 0 * * *")

Notes

  • Schedules do not require access permissions to be specified.

  • Local execution and testing can be done with the local dashboard.

Examples

Create a Schedule

from nitric.resources import schedule
from nitric.application import Nitric
from nitric.context import IntervalContext

processor = schedule("processor")

@processor.every('5 minutes')
async def process_transactions(ctx: IntervalContext):
  # do some processing
  pass

@processor.every('3 hours')
async def process_transactions(ctx: IntervalContext):
  # do some processing
  pass

@processor.every('1 days')
async def process_transactions(ctx: IntervalContext):
  # do some processing
  pass

@processor.cron('0 0 * * *')
async def process_transactions(ctx: IntervalContext)
  # do some processing
  pass

Nitric.run()