Usage ===== To schedule one task to be run at regular intervals:: import tgscheduler import time def task(): print('Running task') print('Init') tgscheduler.start_scheduler() print('Registering an interval task') tgscheduler.add_interval_task(action=task, interval=5, initialdelay=5) print('Sleeping') while True: time.sleep(10) Another example showing more available calls:: from tgscheduler import start_scheduler from tgscheduler.scheduler import add_interval_task from tgscheduler.scheduler add_weekday_task from tgscheduler.scheduler add_single_task import sys import logging log = logging.getLogger(__name__) def testTask(email=None): log.debug("testTask Called") def schedule(): """ start scheduler and setup recurring tasks """ if "shell" in sys.argv: # disable cron in paster shell mode return log.info("Starting Scheduler Manager") start_scheduler() # ================ # # Add cron tasks here # Run once a day add_weekday_task(action=testTask, weekdays=range(1-8), timeonday=(19, 0)) # run at intervals add_interval_task(action=testTask, taskname="test1", interval=60*60, initialdelay=30) # run this once and forgot, useful for long running backgound tasks add_single_task(action=testTask, initialdelay=0, args=[request.user.email_address] ) # Your framework is now supposed to call the "schedule" function. schedule()