Una ventaja fundamental con las tareas Rake es que podes tener acceso completo al environment de Rails, lo cual te proporciona las ventajas de utilizar ActiveRecord, incluyendo los callbacks, associations y validations en los modelos. En mi caso me és muy util para sincronizar db's distribuidas. Sin las rake me vería obligado a utilizar scripts por fuera de la app, complicándolo todo. Te sugiero este tutorial de Rake de Rails Envy que traduje el año pasado. http://www.rodolinux.com.ar/node/60
Saludos 2009/3/31 Agustin Nicolas Viñao Laseras <[email protected]> > Pedro, en complemento a la respuesta de uno de los otros foreros, te paso > un screencast de Ryan Bates que muestra en una forma muy simple la potencia > de las tasks: > > http://railscasts.com/episodes/66-custom-rake-tasks > > Ademas como compartimos, si es para una tarea muy simple y que se supone > jamas se repetira no vale la pena llevarlo a un task, igual cuidado, puede > que para este proyecto no tengas que repetir una importacion de CVS pero si > puede que para muchos otros proyectos siempre necesites importar antes de > levantarlos en un server, en ese caso va mas alla del proyecto que estas > trabajando hoy y tal vez invertir una hora en armar una buena Task te > simplifique a futuro este paso de traer datos de un CVS. > > > sl2 > > Agustin Viñao > www.agustinvinao.com > > 2009/3/31 Pilaf <[email protected]> > >> Muchas gracias por la respuesta Agustín. >> >> Como si me hubieras leido la mente, justamente el script que me toca >> escribir esta vez va a importar datos a la BD desde un CSV. >> Lamentablemente no es algo que vaya a hacer una sola vez porque la >> aplicación que estoy escribiendo va a requerir carga masiva de datos >> de tanto en tanto y me conviene tener el proceso bien armado. >> >> Según lo que entiendo que recomendás, Rake conviene en casos en que >> voy a repetir un proceso manualmente con cierta frecuencia, ¿es así? >> En ese caso creo que mi problema cae en esa categoría, pero no estoy >> seguro de entender aun la ventaja de hacerlo así contra un script >> normal. >> >> De nuevo gracias, >> >> -Pedro >> >> 2009/3/31 Agustin Nicolas Viñao Laseras <[email protected]>: >> > Pedro, me parece que un task es mas util armar cuando tenes una tarea a >> > repetir varias veces en el tiempo y no cuando tenes por ejemplo que >> acomodar >> > un CVS por unica vez para meter datos en la BD. >> > >> > Los tasks los puntaria para por ejemplo si tenes que mandar un mailing >> muy >> > particular cada tanto que no exige que lo agendes como tarea regular y >> que >> > pudiendo armar una plantilla para una promocion por ejemplo llames al >> task >> > que te lo envia. >> > >> > Sl2 >> > >> > Agustin Viñao >> > www.agustinvinao.com >> > >> > 2009/3/31 Pilaf <[email protected]> >> >> >> >> Hola hermanos rubistas, >> >> >> >> les traigo una pregunta de corte existencial: >> >> >> >> ¿Qué ventaja obtengo de hacer mis scripts como tasks de Rake en vez de >> >> scripts regulares? O, mejor dicho, ¿en qué casos me conviene uno y no >> >> otro? >> >> >> >> Estoy empezando a escribir mis primeros scripts usando Rake y hasta >> >> ahora no pude encontrar una buena razón para simplemente tirar unos >> >> scripts sueltos más allá de la superficial de "hacer lo que hacen >> >> todos". Entiendo que las buenas razones aparecen cuando uno tiene >> >> varios tasks interconectados por dependencias, pero esa gracia >> >> desaparece cuando solo necesito hacer bien una cosa que no comparte >> >> dependencias con otras tareas, y por otro lado se complican >> >> innecesariamente algunas otras cosas (como por ejemplo pasar >> >> parámetros). >> >> >> >> De todos modos creo que lo voy a favorecer sobre los scripts a la >> >> antigua, más que nada en nombre de la prolijidad y con el afán de >> >> descubrir tarde o temprano qué lo hace tan atractivo. >> >> >> >> Si alguien tiene ganas de iluminarme se lo agradeceré encarecidamente, >> >> >> >> Saludos, >> >> >> >> -Pedro >> >> _______________________________________________ >> >> Ruby mailing list >> >> [email protected] >> >> >> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar >> > >> > >> > _______________________________________________ >> > Ruby mailing list >> > [email protected] >> > >> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar >> > >> > >> _______________________________________________ >> Ruby mailing list >> [email protected] >> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar >> > > > _______________________________________________ > Ruby mailing list > [email protected] > http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar > > -- http://www.rodolinux.com.ar "I must not fear. Fear is the mind-killer. I will face my fear. I will permit it to pass over me and through me. And when it has gone past I will turn the inner eye to see its path. Where the fear has gone there will be nothing. Only I will remain." - Bene Geserit's Fear Lethany - Dune Trilogy - Frank Herbert
_______________________________________________ Ruby mailing list [email protected] http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
