Estoy tratando de encontrar la manera de ejecutar un proceso en un hilo de fondo en Django. Soy nuevo en Django y en los hilos, así que tengan paciencia si uso la terminología equivocada.Django: iniciar un proceso en un hilo de fondo?
Aquí está el código que tengo. Básicamente me gustaría que start_processing
comience tan pronto como se active la función success
. Sin embargo, start_processing
es el tipo de función que podría tardar unos minutos o fallar (depende de un servicio externo sobre el que no tengo control), y no quiero que el usuario tenga que esperar a que se complete correctamente antes de que el se muestra la vista. ('Éxito' en lo que a ellos respecta, no depende del resultado de start_processing
;. Soy la única persona que tiene que preocuparse si falla)
def success(request, filepath):
start_processing(filepath)
return render_to_response('success.html', context_instance = RequestContext(request))
Desde el googlear que he hecho, la mayoría de la gente sugiere que los hilos de fondo no se usan en Django, y en su lugar un trabajo cron es más adecuado. Pero me gustaría que start_processing
comience tan pronto como el usuario llegue a la función de éxito, en lugar de esperar hasta que se ejecute la tarea cron. ¿Hay alguna forma de hacer esto?
Duplicado: http://stackoverflow.com/questions/844570/web-application-background-processes-newbie-design-question, entre muchos otros. –
La mayoría de estos son útiles también: http://stackoverflow.com/search?q=%5Bdjango%5D+process –
Dupliacte: http://stackoverflow.com/questions/1619397/how-to-start-a- long-running-process-from-django-view, http://stackoverflow.com/questions/219329/django-fastcgi-how-to-manage-a-long-running-process –