Выполнить функцию в Django после рендеринга страницы - PullRequest
0 голосов
/ 27 сентября 2019

Я хотел бы знать, есть ли способ выполнения команды после рендеринга страницы Django.

У меня есть система, в которой для переменной обучения телефонии установлено значение False, и я запускаю командную строку с помощью subprocess.Popenи я должен дождаться окончания команды с помощью .communicate () и сказать, что переменная обучения телефонии - True, но выполнение команды занимает около 15 минут, поэтому я хотел бы отобразить страницу, как только команда будет выполнена,Мой код выглядит следующим образом:

def GerarTreinoTelefonia(request):
    global treinamentotelefonia
    if treinamentotelefonia == False:
        if request.method == 'POST':
            treinamentotelefonia = True
            treinotelefonia = subprocess.Popen(shlex.split('python -m rasa_nlu.train -c chatbot/config/config_nlu.yml --data chatbot/dados/ilhas/telefonia/ -o /code/chatbot/models/telefonia --fixed_model_name nlu --project current --verbose'))
            return render(request, 'website/PainelGerenciamento.html')
            treinotelefonia.communicate()
            treinamentotelefonia = False

Есть идеи, как я могу это сделать?

...