Простое решение - иметь класс, который сохраняет в db имя скрипта и должен ли он продолжать работать:
class ScriptTracker():
name = models.Charfield()
keep_running = models.BooleanField()
Тогда ваш скрипт будет просто проверять db каждые l oop чтобы узнать, должен ли он остановиться:
def my_script():
while True:
if not ScriptTracker.objects.get(name="my_script").keep_running:
# stop running
return
# creating an instance in the db
MyObject.objects.create(name="helloworld")
- Создайте объект ScriptTracker
ScriptTracker.objects.create(name="my_script", keep_running=True)
Запустите свой скрипт, это можно сделать просто, если скрипт построен как команда управления:
python manage.py my_script