Source Code

/ src / blog / apps.py

import os
import sys
import threading
from django.apps import AppConfig

started = False

class BlogConfig(AppConfig):
    default_auto_field = "django.db.models.BigAutoField"
    name = "blog"

    def ready(self):
        global started

        if "runserver" not in sys.argv:
            return

        if os.environ.get("RUN_MAIN") != "true":
            return

        if started:
            return
        started = True

        from blog.watcher import watch_content
        threading.Thread(target=watch_content, daemon=True).start()