Files
BellScheduler/app/worker.py
William Peebles bf539fca09
Some checks reported errors
continuous-integration/drone/push Build encountered an error
continuous-integration/drone Build is passing
create separate worker app for background tasks
2022-11-29 18:12:55 -05:00

32 lines
942 B
Python

import os
from flask import Flask
from misc import currDay
from db import db, Period, Event
from create_events import createEvents
from apscheduler.schedulers.background import BlockingScheduler
from apscheduler.triggers.cron import CronTrigger
basedir = os.path.abspath(os.path.dirname(__file__))
app = Flask(__name__)
app.config['SECRET_KEY'] = 'HwG55rpe83jcaglifXm8NuF4WEeXyJV4'
app.config['SQLALCHEMY_DATABASE_URI'] =\
'sqlite:///' + os.path.join(basedir, os.environ['SQLITE_DB'])
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db.init_app(app)
# declare BlockingScheduler
sched = BlockingScheduler()
# run createEvents upon app launch
with app.app_context():
createEvents(db, currDay, Period, Event)
def eventsTask():
with app.app_context():
createEvents(db, currDay, Period, Event)
sched.add_job(eventsTask, CronTrigger.from_crontab('00 * * * *'))
print("Background worker started")
sched.start()