Пользовательские команды Django, запуск и остановка файла Python

У меня есть проект Django, который используется для удаленного вызова скрипта Python с предопределенными аргументами (извлекается как строка из базы данных). Скрипт python разработан для бесконечного зацикливания до тех пор, пока его не убьют / не прекратят (и поэтому я исключил Popen.communicate()).

Мне нужно, чтобы скрипт вызывался, когда Django вызывает командный скрипт, но если он уже запущен, завершите его и запустите снова.

Это все, что я написал до сих пор:

from django.conf import settings
from django.core.management.base import BaseCommand, CommandError
import subprocess
from LEDs.models import Led
mwd="wave"
klr="spring"
crc=5
p=subprocess.Popen(["python3", "Ledshine.py", mwd,klr,crc])

class Command(BaseCommand):
    help = 'Executes python script to light up LED'

    def handle(self, *args, **options):
        ld = Led.objects.all()[0]
        mwd= str(ld.mode)
        klr=str(ld.colour)
        crc=str(ld.circuit)
        if p.poll():
            p.terminate()
        #p=subprocess.Popen(["python3", "Ledshine.py", mwd,klr,crc])

0 ответов

Другие вопросы по тегам