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

Responder a