Daily Archives for Sábado, septiembre 2007

Lanzando Rake desde Cron

Adjunto un pequeño ejemplo de como programar una tarea cron en un servidor Linux para que ejecute una tarea rake en Ruby on Rails.

1.-La tarea Rake ( en el subdirectorio [aplicación rails]/lib/tasks: #*1

require ‘rubygems’

namespace :utils do
  desc “Hacer algo”
  task(:algo=> :environment) do #*2

     for model in Model.find(:all)

        puts model.name

     end

 end

end

#*1 Guardarlo con el nombre que queráis.

#*2 esto permite que podamos acceder a nuestra aplicación y modelos.

2.-Desde el cron del panel de nuestro hosting o usando crontab -e desde la terminal:

[parámetros del cron ] cd /home/[usuario ]/[aplicación rails]/ && /usr/local/bin/ruby /usr/local/bin/rake utils:algo RAILS_ENV=’production’

Comentarios:

 * Poner los paths correctos en cada caso. Podéis usar el comando “which” p.ej “which rake” para saber donde están las cosas.

* Para que la tarea se ejecute la aplicación Rails debe funcionar bien desde la web.

* En este caso la aplicación está en production, por tanto he fijado el RAILS_ENV en este entorno

* todo el comando va en una sola línea

* Los parámetros del cron los podéis buscar por internet.

Con este procedimiento podemos programar todas aquellas tareas que queremos que se ejecuten en background cada determinado tiempo. Sin duda es un recurso imprescindible para cualquier aplicación.

Popularity: 1% [?]

Tracks: Aplicación GNU para la gestión del tiempo desarrollada en Ruby on Rails

Curiosa aplicación que nos podemos descargar y ejecutar en cualquier equipo tras instalar Ruby on Rails. Según dice el creador esta aplicación web está pensada para implementar la metodología del libro de  David Allen’s Getting things done.

No tengo ni idea si la metodología sirve o no, pero en mi caso el disponer de una aplicacion GNU desarrollada en Rails es un gran recurso para seguir de mi aprendizaje de esta web framework.

Para los que les interese tengo recopilados otros ejemplos de aplicaciones pra descargar interesantes en L-exp.

Popularity: 1% [?]

365 días con Ruby on Rails

Ya hace un buen tiempo que llevo peleándome y gozando de esta Web Framework. Uno de los objetivos de empezar mi proyectito L-exp fue el de aprender a desarrollar con esta Framework.

La principal ventaja de esta framework basada en el lenguaje script Ruby está en su lógica aplastante. Has de entender la filosofía de como se hacen las cosas, pero una vez la tiene cada vez el desarrollo se vuelve más intuitivo y sencillo.

Yo diria que en estos momentos utilizo sólo un 40% de las posibilidades de esta framework. Pero la realidad es que suficiente ya que me permite desarrollar ágilmente y además voy solventando todos los retos. Para mi lo más complicado de este desarrollo está siendo siempre el HTML y CSS. No porque sea difícil de entender, sino que es difícil hacer diseños de páginas webs para conseguir que queden atractivas y funcionales. Es decir, que entren por los ojos. Es un problema artístico y no técnico.

Un factor importante en Rails es que las cosas las puedes hacer de muchas formas y lo que hay que aprender es como hacerlas de forma más óptima. Un mismo acceso en un controlador puede tardar 8 segundos o medio simplemente enfocando bien la búsqueda de los datos. Estas cosas son las que he de ir aprendiendo.

Hay que mencionar la genialidad del lenguaje Ruby en la flexibilidad y facilidad que tiene. Al principio si vienes de lenguajes como C  o Visual Basic te choca mucho. Ya que estas acostumbrado a hacerlo todo tu programando y Ruby está pensado para tener que escribir poco código. Probar Ruby en este enlace y entenderéis lo que digo.

Lo más sorprendente esta Framework es las cosas que he llegado a realizar de forma tan trivial. Quien me iba a decir hace un año que estaría leyendo Feeds para incluirlas en mi proyecto con dos líneas de código o  enviando pings a technorati y Feedburner para que actualicen sus RSS. El mérito no es que yo sea un genio, sino que la comunidad es muy abierta y encuentras soluciones para todo.

No puedo dejar de mencionar la base de datos MySQL ya que ha sido la gran desconocida al funcionar perfectamente y sin problemas.

Otro factor colateral que te encuentras en este mundo Rails es que usas hostings que están basados en Linux. En este aspecto he podido contastar que aunque utilizas terminales para acceder que quizás queda poco glamuroso, la potencia de los comando que puedes realizar y la tecnología que tienen es impresionante. Además las cosas están pensadas para ser fáciles, hay comandos para todo y al final el conocimiento que has de tener es reducido ya que son cuatro tareas las que realizas continuamente.

En cuanto a los servidores Linux me ha sorprendido la capacidad de configuración que tienen, la utilización de servidores como mongrel, el control de versiones con SVN, la gestión de tareas con cron y rake, la facilidad de configuración y muchas cosas más.

Relacionado con el mundo Linux hay que hablar sobre el tema del hosting que sin duda ha sido una pieza clave. Recientemente me mude de hosting y estoy muy satisfecho del cambio. En este aspecto me ha sorprendido la tecnología que tienen los hosting como los paneles de control y como estos shared servers pueden coexistir multiples entornos y usuarios. Sin duda un factor clave es la amabilidad del servicio técnico que como ya comenté en Railsplayground.com me está sorprendiendo.

Para predicar con el ejemplo os pongo un enlace a las listas L-exp que he creado sobre Ruby on Rails (ya van 9). He procurado ir añadiendo todos aquellos recursos que he necesitado clasificándolos por temáticas ( listas).

Como podéis leer ha sido un año divertido y he podido disfrutar mucho con mi proyecto. Ahora estoy haciendo cambios importantes en L-exp para hacerlo más útil y funcional.

Iré publicando algunos trozos de código con cosas interesante que he utilizado para compartirlo.

Popularity: 1% [?]

Get Adobe Flash playerPlugin by wpburn.com wordpress themes