Tenía un poco de curiosidad si podía hacer más trabajo en una función después de devolver un resultado. Básicamente, estoy creando un sitio usando el marco piramidal (que simplemente está codificando en Python) después de procesar las entradas. Devuelvo variables para representar la página, pero a veces quiero hacer más trabajo luego de renderizar la página.¿Hay alguna manera de hacer más trabajo después de una declaración de devolución?
Por ejemplo, vienes a mi sitio y actualizas tu perfil y todo lo que te importa es que es exitoso, así que dejo un mensaje diciendo '¡éxito!' pero después de eso, quiero tomar su actualización y actualizar mis registros de actividad de lo que hace, actualizar las corrientes de actividad de sus amigos, etc. En este momento estoy haciendo todo eso antes de devolver el estado del resultado que a usted le importa, pero yo ' Me da curiosidad si puedo hacerlo después, para que los usuarios obtengan sus respuestas más rápido.
He hecho multiprocesamiento antes y, en el peor de los casos, podría simplemente pasar un hilo para hacer este trabajo, pero si hubiera una forma de hacer el trabajo después de una declaración de devolución, entonces sería más simple.
ejemplo:
def profile_update(inputs):
#take updates and update the database
return "it worked"
#do maintainence processing now..
No estoy familiarizado con el enhebrado de python, pero la mayoría de los modelos de subprocesamiento, la creación de un hilo es tan simple como llamar a una función. La complejidad proviene de asegurarse de que el trabajo que se realiza en el hilo se sincronice de forma adecuada con las cosas que están sucediendo de forma asincrónica con el hilo. Me parece que la complejidad existiría en el mismo grado con lo que quiera que ocurra en el paso posterior al retorno '#do maintainence processing now..'. Si no fuera necesaria la sincronización allí, entonces ninguno debería ser necesario en un hilo. Pero, lo contrario también es cierto. –