1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
from pymongo import MongoClient import pytz import datetime
from apscheduler.schedulers.blocking import BlockingScheduler from apscheduler.jobstores.mongodb import MongoDBJobStore from apscheduler.jobstores.memory import MemoryJobStore from apscheduler.executors.pool import ThreadPoolExecutor, ProcessPoolExecutor
tz = pytz.timezone('America/Los_Angeles') print(datetime.datetime.now(tz))
def my_job(): print(datetime.datetime.now(tz)) print("hello world")
host = '127.0.0.1' port = 27017 client = MongoClient(host, port)
jobstores = { 'mongo': MongoDBJobStore(collection='job', database='test', client=client), 'default': MongoDBJobStore(collection='job', database='test', client=client) } executors = { 'default': ThreadPoolExecutor(10), 'processpool': ProcessPoolExecutor(3) } job_defaults = { 'coalesce': False, 'max_instances': 3 } scheduler = BlockingScheduler(jobstores=jobstores, executors=executors, job_defaults=job_defaults) scheduler.add_job(my_job, trigger='cron', day_of_week='0-6', hour=13, minute=56, second=0, timezone=tz)
try: scheduler.start() except SystemExit: client.close()
|