Der Befehl django ist ein Befehl, der von 'python manage.py ~' ausgeführt wird. Standardmäßig werden viele nützliche Befehle wie Shell bereitgestellt. Obwohl hier nicht im Detail erklärt, ist es möglich, benutzerdefinierte Befehle zu erstellen. Und der benutzerdefinierte Befehl usw. wird oft als Stapel wie crontab ausgeführt, aber aus irgendeinem Grund werde ich versuchen, nicht doppelt zu starten.
custom_command.py
import sys
import commands
from django.core.management.base import BaseCommand
def is_process_exist(process_name):
"""
Gibt True zurück, wenn dieser Prozess ausgeführt wird
"""
output = commands.getoutput("ps -ef | grep '%s' | grep -v grep | wc -l" % (process_name))
is_exist = int(output) >= 2
return is_exist
class Command(BaseCommand):
def handle(self, *args, **options):
#Doppelte Startprüfung
if is_process_exist(__name__.split('.')[-1]):
sys.exit('duplication!')
#Die folgende Verarbeitung ~
Recommended Posts