Запуск функции при выходе из сервера Django

У меня есть Django Server, который запускает некоторые фоновые задания при запуске. Код предоставлен ниже-

class ApiConfig(AppConfig):
    default_auto_field = 'django.db.models.BigAutoField'
    name = 'api'

    def ready(self):
        run_once = os.environ.get('CMDLINERUNNER_RUN_ONCE') 
        if run_once is not None:
            return
        os.environ['CMDLINERUNNER_RUN_ONCE'] = 'True'

        from . import bgJobs
        stop_run_continuously = bgJobs.run_continuously()

а фон Job выглядит примерно так

def run_threaded(job_func,*args,**kwargs):
    job_thread = threading.Thread(target=job_func,args=args,kwargs=kwargs)
    job_thread.start()

def run_continuously(interval=1):
    cease_continuous_run = threading.Event()

    class ScheduleThread(threading.Thread):
        @classmethod
        def run(cls):
            while not cease_continuous_run.is_set():
                schedule.run_pending()
                time.sleep(interval)

    continuous_thread = ScheduleThread()
    continuous_thread.start()
    return cease_continuous_run

def printTest(Text):
    time.sleep(10)

schedule.every(10).seconds.do(run_threaded,printTest,Text="Texts")

Задание bgJob является демонстрационным.

Вопрос:- Фоновые задания выполняются даже после закрытия сервера. Мне нужно выполнить stop_run_continuously.set() при выходе из сервера, чтобы остановить его, но я не смог найти способ сделать это. Я предпочитаю делать это только в django.

Примечание:- Если есть лучший способ выполнения задания, вы также можете предоставить его

Вернуться на верх