34 lines
888 B
Python
34 lines
888 B
Python
from django.apps import AppConfig
|
|
|
|
|
|
class InvoicesConfig(AppConfig):
|
|
name = "invoices"
|
|
|
|
def ready(self):
|
|
import sys
|
|
|
|
if any(cmd in sys.argv for cmd in ("migrate", "makemigrations", "shell", "test")):
|
|
return
|
|
|
|
from django.db import connection
|
|
if "django_apscheduler_djangojob" not in connection.introspection.table_names():
|
|
return
|
|
|
|
from django_apscheduler.jobstores import DjangoJobStore
|
|
from apscheduler.schedulers.background import BackgroundScheduler
|
|
from . import scheduler
|
|
|
|
sched = BackgroundScheduler()
|
|
sched.add_jobstore(DjangoJobStore(), "default")
|
|
|
|
sched.add_job(
|
|
scheduler.mark_overdue,
|
|
trigger="cron",
|
|
hour=1,
|
|
minute=0,
|
|
id="mark_overdue",
|
|
replace_existing=True,
|
|
)
|
|
|
|
sched.start()
|