Files
appointment_tool/scheduler.py
T

57 lines
1.7 KiB
Python

from apscheduler.executors.pool import ThreadPoolExecutor, ProcessPoolExecutor
from apscheduler.schedulers.blocking import BlockingScheduler
from check_results import check_results
from main import start_book
from wait_for_sms import start_waiting_sms
def waiting_for_sms_job():
start_waiting_sms(1, 32)
def check_results_job():
check_results()
def start_book_appointment():
start_book(1, 31)
def start_waiting_sms_job(sched):
# sched.add_job(start_book_appointment, 'cron', day_of_week='mon-sat', hour='10',
# minute='30',
# misfire_grace_time=10,
# second='0', timezone='Europe/Paris', max_instances=1)
sched.add_job(waiting_for_sms_job, 'cron', day_of_week='mon-sat', hour='21',
minute='15',
misfire_grace_time=10,
second='0', timezone='Europe/Paris', max_instances=1)
def start_check_results_job(sched):
# sched.add_job(start_book_appointment, 'cron', day_of_week='mon-sat', hour='10',
# minute='30',
# misfire_grace_time=10,
# second='0', timezone='Europe/Paris', max_instances=1)
sched.add_job(check_results(), 'cron', day_of_week='mon-sat', hour='21',
minute='15',
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_results_job(sched)
sched.print_jobs()
sched.start()
if __name__ == '__main__':
config_and_start_jobs()