Django自定义命令,启动和停止python文件

时间:2017-08-03 11:01:52

标签: python django python-3.6 django-commands

我有一个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 个答案:

没有答案