diff options
Diffstat (limited to 'examples/persistent.py')
-rw-r--r-- | examples/persistent.py | 30 |
1 files changed, 11 insertions, 19 deletions
diff --git a/examples/persistent.py b/examples/persistent.py index 292054e..4233e3c 100644 --- a/examples/persistent.py +++ b/examples/persistent.py @@ -1,37 +1,29 @@ """ This example demonstrates the use of persistent job stores. On each run, it -adds a new alarm that fires after one minute. You can exit the program, restart -it and observe that any previous alarms that have not fired yet are still -active. +adds a new alarm that fires after ten seconds. You can exit the program, +restart it and observe that any previous alarms that have not fired yet are +still active. """ from datetime import datetime, timedelta -import sys -import time from apscheduler.scheduler import Scheduler from apscheduler.jobstores.shelve_store import ShelveJobStore def alarm(time): - sys.stdout.write('Alarm! This alarm was scheduled at %s.\n' % time) + print('Alarm! This alarm was scheduled at %s.' % time) if __name__ == '__main__': - scheduler = Scheduler() + scheduler = Scheduler(standalone=True) scheduler.add_jobstore(ShelveJobStore('example.db'), 'shelve') - alarm_time = datetime.now() + timedelta(minutes=1) + alarm_time = datetime.now() + timedelta(seconds=10) scheduler.add_date_job(alarm, alarm_time, name='alarm', jobstore='shelve', args=[datetime.now()]) - sys.stdout.write('To clear the alarms, delete the example.db file.\n') - sys.stdout.write('Press Ctrl+C to exit\n') - scheduler.start() - + print('To clear the alarms, delete the example.db file.') + print('Press Ctrl+C to exit') try: - # This is here to prevent the main thread from exiting so that the - # scheduler has time to work -- this is rarely necessary in real world - # applications - time.sleep(9999) - finally: - # Shut down the scheduler so that the job store gets closed properly - scheduler.shutdown() + scheduler.start() + except (KeyboardInterrupt, SystemExit): + pass |