from apscheduler.executors.pool import ThreadPoolExecutor, ProcessPoolExecutor from apscheduler.schedulers.blocking import BlockingScheduler from src.mail.mail_reader import read_mails def start_check_mail_job(sched): sched.add_job(read_mails, 'cron', day_of_week='mon-sat', minute='*/15', jitter=240, timezone='Europe/Paris', max_instances=1) # sched.add_job(read_mails, 'cron', day_of_week='mon-sat', hour='11', # minute='30', # misfire_grace_time=10, # second='0', timezone='Europe/Paris', max_instances=1) # sched.add_job(read_mails, 'cron', day_of_week='mon-sat', hour='13', # minute='30', # misfire_grace_time=10, # second='0', timezone='Europe/Paris', max_instances=1) # sched.add_job(read_mails, 'cron', day_of_week='mon-sat', hour='15', # minute='30', # misfire_grace_time=10, # second='0', timezone='Europe/Paris', max_instances=1) # sched.add_job(read_mails, 'cron', day_of_week='mon-sat', hour='17', # minute='30', # misfire_grace_time=10, # second='0', timezone='Europe/Paris', max_instances=1) def config_and_start_jobs(): executors = { 'default': ThreadPoolExecutor(30), 'processpool': ProcessPoolExecutor(12) } sched = BlockingScheduler(executors=executors) # start_waiting_sms_job(sched) start_check_mail_job(sched) sched.print_jobs() sched.start() if __name__ == '__main__': config_and_start_jobs()