diff options
author | Alex Grönholm <alex.gronholm@nextday.fi> | 2014-04-06 01:13:01 +0300 |
---|---|---|
committer | Alex Grönholm <alex.gronholm@nextday.fi> | 2014-04-06 01:13:01 +0300 |
commit | e081366c66e37c58737a65966140d99f355b43ee (patch) | |
tree | 21ae286e46934073e068259dde188dc900d4aa50 /examples | |
parent | 5708e70068b41f942a660a6d378eef193488fbfc (diff) | |
download | apscheduler-e081366c66e37c58737a65966140d99f355b43ee.tar.gz |
Replaced the thread pool with a pluggable executor system
Diffstat (limited to 'examples')
-rw-r--r-- | examples/executors/processpool.py | 24 | ||||
-rw-r--r-- | examples/jobstores/mongodb.py | 8 | ||||
-rw-r--r-- | examples/jobstores/sqlalchemy_.py | 4 | ||||
-rw-r--r-- | examples/misc/reference.py | 2 | ||||
-rw-r--r-- | examples/schedulers/asyncio_.py | 2 | ||||
-rw-r--r-- | examples/schedulers/background.py | 2 | ||||
-rw-r--r-- | examples/schedulers/blocking.py | 2 | ||||
-rw-r--r-- | examples/schedulers/gevent_.py | 2 | ||||
-rw-r--r-- | examples/schedulers/qt.py | 2 | ||||
-rw-r--r-- | examples/schedulers/tornado_.py | 2 | ||||
-rw-r--r-- | examples/schedulers/twisted_.py | 2 |
11 files changed, 40 insertions, 12 deletions
diff --git a/examples/executors/processpool.py b/examples/executors/processpool.py new file mode 100644 index 0000000..e76eaa6 --- /dev/null +++ b/examples/executors/processpool.py @@ -0,0 +1,24 @@ +""" +Demonstrates how to schedule a job to be run in a process pool on 3 second intervals. +""" + +from datetime import datetime +from apscheduler.executors.pool import ProcessPoolExecutor + +from apscheduler.schedulers.blocking import BlockingScheduler + + +def tick(): + print('Tick! The time is: %s' % datetime.now()) + + +if __name__ == '__main__': + scheduler = BlockingScheduler() + scheduler.add_executor(ProcessPoolExecutor(scheduler)) + scheduler.add_job('interval', tick, seconds=3) + print('Press Ctrl+C to exit') + + try: + scheduler.start() + except (KeyboardInterrupt, SystemExit): + pass diff --git a/examples/jobstores/mongodb.py b/examples/jobstores/mongodb.py index 49f1f0b..c6895e8 100644 --- a/examples/jobstores/mongodb.py +++ b/examples/jobstores/mongodb.py @@ -18,9 +18,13 @@ def alarm(time): if __name__ == '__main__': scheduler = BlockingScheduler() - scheduler.add_jobstore(MongoDBJobStore(collection='example_jobs')) + jobstore = MongoDBJobStore(collection='example_jobs') + if len(sys.argv) > 1 and sys.argv[1] == '--clear': + jobstore.remove_all_jobs() + + scheduler.add_jobstore(jobstore) alarm_time = datetime.now() + timedelta(seconds=10) - scheduler.add_job(alarm, 'date', [alarm_time], args=[datetime.now()]) + scheduler.add_job('date', alarm, run_date=alarm_time, args=[datetime.now()]) print('To clear the alarms, run this example with the --clear argument.') print('Press Ctrl+C to exit') diff --git a/examples/jobstores/sqlalchemy_.py b/examples/jobstores/sqlalchemy_.py index 561c3f8..4423d11 100644 --- a/examples/jobstores/sqlalchemy_.py +++ b/examples/jobstores/sqlalchemy_.py @@ -18,10 +18,10 @@ def alarm(time): if __name__ == '__main__': scheduler = BlockingScheduler() - url = sys.argv[1] or 'sqlite://example.sqlite' + url = sys.argv[1] if len(sys.argv) > 1 else 'sqlite:///example.sqlite' scheduler.add_jobstore(SQLAlchemyJobStore(url)) alarm_time = datetime.now() + timedelta(seconds=10) - scheduler.add_job(alarm, 'date', [alarm_time], args=[datetime.now()]) + scheduler.add_job('date', alarm, run_date=alarm_time, args=[datetime.now()]) print('To clear the alarms, delete the example.sqlite file.') print('Press Ctrl+C to exit') diff --git a/examples/misc/reference.py b/examples/misc/reference.py index 2b0c414..8bb41bf 100644 --- a/examples/misc/reference.py +++ b/examples/misc/reference.py @@ -7,7 +7,7 @@ from apscheduler.schedulers.blocking import BlockingScheduler if __name__ == '__main__': scheduler = BlockingScheduler() - scheduler.add_job('sys:stdout.write', 'interval', {'seconds': 3}, args=['tick\n']) + scheduler.add_job('interval', 'sys:stdout.write', seconds=3, args=['tick\n']) print('Press Ctrl+C to exit') try: diff --git a/examples/schedulers/asyncio_.py b/examples/schedulers/asyncio_.py index 01cc138..df6574e 100644 --- a/examples/schedulers/asyncio_.py +++ b/examples/schedulers/asyncio_.py @@ -14,7 +14,7 @@ def tick(): if __name__ == '__main__': scheduler = AsyncIOScheduler() - scheduler.add_job(tick, 'interval', {'seconds': 3}) + scheduler.add_job('interval', tick, seconds=3) scheduler.start() print('Press Ctrl+C to exit') diff --git a/examples/schedulers/background.py b/examples/schedulers/background.py index 8a3dde5..d9862e9 100644 --- a/examples/schedulers/background.py +++ b/examples/schedulers/background.py @@ -14,7 +14,7 @@ def tick(): if __name__ == '__main__': scheduler = BackgroundScheduler() - scheduler.add_job(tick, 'interval', {'seconds': 3}) + scheduler.add_job('interval', tick, seconds=3) scheduler.start() print('Press Ctrl+C to exit') diff --git a/examples/schedulers/blocking.py b/examples/schedulers/blocking.py index 55d1385..359b366 100644 --- a/examples/schedulers/blocking.py +++ b/examples/schedulers/blocking.py @@ -13,7 +13,7 @@ def tick(): if __name__ == '__main__': scheduler = BlockingScheduler() - scheduler.add_job(tick, 'interval', {'seconds': 3}) + scheduler.add_job('interval', tick, seconds=3) print('Press Ctrl+C to exit') try: diff --git a/examples/schedulers/gevent_.py b/examples/schedulers/gevent_.py index 597aa4d..bf83fb3 100644 --- a/examples/schedulers/gevent_.py +++ b/examples/schedulers/gevent_.py @@ -13,7 +13,7 @@ def tick(): if __name__ == '__main__': scheduler = GeventScheduler() - scheduler.add_job(tick, 'interval', {'seconds': 3}) + scheduler.add_job('interval', tick, seconds=3) g = scheduler.start() # g is the greenlet that runs the scheduler loop print('Press Ctrl+C to exit') diff --git a/examples/schedulers/qt.py b/examples/schedulers/qt.py index 15b9192..1ea9fba 100644 --- a/examples/schedulers/qt.py +++ b/examples/schedulers/qt.py @@ -30,7 +30,7 @@ if __name__ == '__main__': label.show() scheduler = QtScheduler() - scheduler.add_job(tick, 'interval', {'seconds': 3}) + scheduler.add_job('interval', tick, seconds=3) scheduler.start() # Execution will block here until the user closes the windows or Ctrl+C is pressed. diff --git a/examples/schedulers/tornado_.py b/examples/schedulers/tornado_.py index 42ddab5..92d0ef1 100644 --- a/examples/schedulers/tornado_.py +++ b/examples/schedulers/tornado_.py @@ -14,7 +14,7 @@ def tick(): if __name__ == '__main__': scheduler = TornadoScheduler() - scheduler.add_job(tick, 'interval', {'seconds': 3}) + scheduler.add_job('interval', tick, seconds=3) scheduler.start() print('Press Ctrl+C to exit') diff --git a/examples/schedulers/twisted_.py b/examples/schedulers/twisted_.py index a1f7358..33a8065 100644 --- a/examples/schedulers/twisted_.py +++ b/examples/schedulers/twisted_.py @@ -14,7 +14,7 @@ def tick(): if __name__ == '__main__': scheduler = TwistedScheduler() - scheduler.add_job(tick, 'interval', {'seconds': 3}) + scheduler.add_job('interval', tick, seconds=3) scheduler.start() print('Press Ctrl+C to exit') |