0
Django 응용 프로그램에서 시작되는 스레드를 사용하고 싶습니다.장고 앱이있는 스레드. 서버 : CRON 또는 기타 외부 서비스 없음
우리가 standart 파이썬 스레드를 사용하는 경우 요청이 완료되면 웹 서버에 의해 중지 될 수 있습니다.
표준 방법이 있습니까? 아니면이 기능을 제공하는 Django 라이브러리가 있습니까?
Django 응용 프로그램에서 시작되는 스레드를 사용하고 싶습니다.장고 앱이있는 스레드. 서버 : CRON 또는 기타 외부 서비스 없음
우리가 standart 파이썬 스레드를 사용하는 경우 요청이 완료되면 웹 서버에 의해 중지 될 수 있습니다.
표준 방법이 있습니까? 아니면이 기능을 제공하는 Django 라이브러리가 있습니까?
긴 프로세스에 스레드를 집중적으로 사용합니다. 물론 더 좋은 해결책은 Celery입니다.
from threading import Thread
class afegeixThread(Thread):
def __init__ (self,usuari, expandir=None, alumnes=None,
impartir=None, matmulla = False):
Thread.__init__(self)
self.expandir = expandir
self.alumnes = alumnes
self.impartir = impartir
self.flagPrimerDiaFet = False
self.usuari = usuari
self.matmulla = matmulla
def run(self):
errors = []
try:
...
self.flagPrimerDiaFet = ...
...
def firstDayDone(self):
return self.flagPrimerDiaFet
호출 스레드 : :
스레드 정의하려면 단어의from presencia.afegeixTreuAlumnesLlista import afegeixThread
afegeix=afegeixThread(expandir = expandir, alumnes=alumnes,
impartir=impartir, usuari = user, matmulla = matmulla)
afegeix.start()
#Waiting for first day done before return html:
import time
while afegeix and not afegeix.firstDayDone(): time.sleep( 0.5)
#return html code
return HttpResponseRedirect('/presencia/passaLlista/%s/'% pk)
감사합니다. @danihp! – sergzach
당신의 선택입니다 약간의 충돌 : 스레드가 항상에서 시작되는 프로그램과 함께 실행됩니다. 이미 실행중인 Django 응용 프로그램과 통신 할 수있는 별도의 프로세스를 의미합니까? 그렇다면 어떻게 의사 소통을 구상합니까? 장고가이 서비스를 쿼리 할 수 있습니까? 원하는 기능을 자세히 설명하여 질문을 개선하십시오. – jro
좋아, 내가 해냈어. 수정해 주셔서 감사합니다. – sergzach