Es factible mandar varias respuestas desde un proceso largo

Ya antes pregunte por lo de un Progress Bar, ya se que con
Ajax.PeriodicalUpdater, puedo solucionar el tema por el lado del
cliente.

Yo asumo que se puede mandar mas de una respuesta desde el servidor
para ir indicando el nivel de avance del proceso. ¿ Es seto correcto?

Algun ejemplo?

Gracias

Angel Mauricio Pino G
[email protected]
Movil: 08-577.92.72

On Tue, Sep 30, 2008 at 6:06 PM, Angel Mauricio Pino Gonzalez
[email protected] wrote:

Ya antes pregunte por lo de un Progress Bar, ya se que con
Ajax.PeriodicalUpdater, puedo solucionar el tema por el lado del
cliente.

Yo asumo que se puede mandar mas de una respuesta desde el servidor
para ir indicando el nivel de avance del proceso. ¿ Es seto correcto?

No, no podés mandar más de una respuesta a cada request HTTP.

Por cada pregunta del cliente a “cuanto del archivo ya subió” vas a
tener una respuesta del server que diga “xx %”.

Despues dependiendo de tu http server, aplicación y demás es como te
enteras que % del archivo está subido. No es auto-mágico. Yo uso [1]
que es un módulo de apache que hace el tracking y permite consultarlo
por AJAX.

[1[
http://drogomir.com/blog/2008/6/18/upload-progress-bar-with-mod_passenger-and-apache
por si te sirve de referencia

¡Falta Uno! - http://www.falta-uno.com.ar/
Ricardo M.

Creo que la solucion va por otro lado.

No me sirve estar llamando via PeriodicalUpdater, ya que no necesito
iniciar un proceso muchas veces, si no que, saber el estado de un
proceso que ya esta corriendo.

De modo que lo que parece correcto usar es directamente en un cliclo
llamadas a Ajax.Request. Y agregar a mi proceso respuetas via xml para
indicar el estado de avance del proceso. La pregunta entonces es ¿
Puedo en un proceso regresar mas de un resultado (html, js o xml), a
medida que avanzo en el proceso?.

algo como
def actualizacion

lineas del prioceso

lineas del prioceso

respond_to do |format|
format.xml
end

lineas del prioceso

lineas del prioceso

respond_to do |format|
format.xml
end
end

¿Funciona algo de ese tipo?
gracias

2008/9/30 Angel Mauricio Pino Gonzalez
[email protected]:


Angel Mauricio Pino G
[email protected]
Movil: 08-577.92.72


Angel Mauricio Pino G
[email protected]
Movil: 08-577.92.72

On Tue, Sep 30, 2008 at 8:05 PM, Angel Mauricio Pino Gonzalez
[email protected] wrote:

¿Funciona algo de ese tipo?

No creo. En general si queres la barrita linda, tenés que pagar el
precio de las requests secundarias para hacer el tracking del estado
de la
operación.

¡Falta Uno! - http://www.falta-uno.com.ar/
Ricardo M.

No se si la tarea que estas realizando tenga que ver algo con el manejo
de
estados para un modelo, en tal caso este plugin te puede ayudar:

Saludos.

On Tue, Sep 30, 2008 at 8:05 PM, Angel Mauricio Pino Gonzalez
[email protected] wrote:

¿Funciona algo de ese tipo?

En rails no se puede, ya que hasta que se finaliza la acción no se
empiezan
a enviar los datos.

On Tue, Sep 30, 2008 at 11:06 PM, Angel Mauricio Pino Gonzalez
[email protected] wrote:

Ya antes pregunte por lo de un Progress Bar, ya se que con
Ajax.PeriodicalUpdater, puedo solucionar el tema por el lado del
cliente.

Yo asumo que se puede mandar mas de una respuesta desde el servidor
para ir indicando el nivel de avance del proceso. ¿ Es seto correcto?

No, sólo se puede enviar una respuesta a cada petición. Pero esto me
recuerda que en ASP sí que se puede hacer esto, con Response.buffer y
Response.flush:

Si ellos que son más feos pueden, ¿por qué nosotros no?


Jaime I.
http://jaimeiniesta.com
http://www.workingwithrails.com/person/6722-jaime-iniesta

2008/10/1 Dani D. [email protected]

On Wed, Oct 1, 2008 at 1:05 AM, Angel Mauricio Pino Gonzalez
[email protected] wrote:

¿Funciona algo de ese tipo?
No, para hacer eso creo que necesitarás usar una tecnica llamada
Server Push[1], que para rails existe la siguiente[2] solución ( que
no he probado ).

[1] Push technology - Wikipedia
[2] http://juggernaut.rubyforge.org/

Cuidado no confundir la teoría de server push (Lanzar una petición ajax
y
dejarla al espera creando un pseudo-push), con que en una petición
puedas
enviar cachos de archivos al cliente.

Y respecto a lo de ASP. Merb es mucho más cercano, y también te permite
renderizar cachos, según te apetece y que estos se envien al cliente.

Un Saludo

On Wed, Oct 1, 2008 at 1:05 AM, Angel Mauricio Pino Gonzalez
[email protected] wrote:

¿Funciona algo de ese tipo?
No, para hacer eso creo que necesitarás usar una tecnica llamada
Server Push[1], que para rails existe la siguiente[2] solución ( que
no he probado ).

[1] Push technology - Wikipedia
[2] http://juggernaut.rubyforge.org/

puedes utilizar el upload_progress_module de nginx

esto trackea las subidas de los archivos y consulta via ajax una ruta
especificada (/uploads ) en el conf de tu nginx, asi esto devuelve un
json
con el estado de la subida del archivo
aqui hay un ejemplo de como implementarlo con la barrita

saludos

Atte.
Miguel Michelson Martinez

www.artenlinea.cl

2008/10/1 Guillermo [email protected]

Yo utilice un plugin para mongrel
http://mongrel.rubyforge.org/wiki/UploadProgress que permite trackear el
avance de subida del archivo. Aunque ultimamente estoy teniendo algunos
problemas aleatorios (o que aun no le encontre un patron) que hace que
suban
al 99% y luego queden ahi, sin encontrar ningun error en ningun log…
:frowning:
Creo que voy a migrar a alguna solución en flash de las que andan dando
vueltas por ahi…
Saludos

Ing. Damian M.
DO2 Online Solutions
www.do2online.com

2008/10/1 Miguel M. [email protected]