1.0.1 release #15

Merged
williamp merged 35 commits from testing into master 2023-03-21 18:10:14 +00:00
17 changed files with 165 additions and 21 deletions
Showing only changes of commit bf539fca09 - Show all commits

View File

@@ -6,7 +6,6 @@ from flask_login import (LoginManager, login_user, login_required, logout_user,
from misc import datetime, date, time, currDay, ZoneInfo, currVersion, currCommit from misc import datetime, date, time, currDay, ZoneInfo, currVersion, currCommit
from db import (db, Period, Task, Event, User) from db import (db, Period, Task, Event, User)
from forms import (TaskForm, EventForm, PeriodForm, SignupForm, LoginForm, SettingsForm) from forms import (TaskForm, EventForm, PeriodForm, SignupForm, LoginForm, SettingsForm)
from backgroundTasks import scheduleCreateEvents
from create_events import createEvents from create_events import createEvents
basedir = os.path.abspath(os.path.dirname(__file__)) basedir = os.path.abspath(os.path.dirname(__file__))
@@ -23,8 +22,8 @@ migrate = Migrate()
migrate.init_app(app, db) migrate.init_app(app, db)
# Schedule creation of events every hour # Schedule creation of events every hour
with app.app_context(): #with app.app_context():
scheduleCreateEvents(app, db, currDay, Period, Event, createEvents) # scheduleCreateEvents(app, db, currDay, Period, Event, createEvents)
# Authentication stuff # Authentication stuff

View File

@@ -1,14 +0,0 @@
from apscheduler.schedulers.background import BackgroundScheduler
from apscheduler.triggers.cron import CronTrigger
def scheduleCreateEvents(app, db, currDay, Period, Event, createEvents):
# create events upon application launch
createEvents(db, currDay, Period, Event)
# schedule createEvents task every hour
sched = BackgroundScheduler()
def eventsTask():
with app.app_context():
createEvents(db, currDay, Period, Event)
sched.add_job(eventsTask, CronTrigger.from_crontab('00 * * * *'))
sched.start()

31
app/worker.py Normal file
View File

@@ -0,0 +1,31 @@
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()