History always repeats itself and sometimes that's good. Here's a second chance to be part of it: tmdtc.com

Sunday 14 December 2008

Capistrano deployment for Jetty-Rails

As I have developed the (soon to be available) UploadForMe application with Jruby on Rails, I have had to look at the best way to deploy it in production. In development mode, I was just running the script/server with Jruby, but I needed something better for production.

I had first tested the Glassfish approach of running an Java application server. And although it isn't hard at all, as illustrated by Charles Nutter in his post correctly titled "Zero to Production in 15 Minutes", it wasn't practical for me: just running Glasfish consumed 300MB of RAM and impossible to run on my development machine. So I had to look somewhere else.

That's how I found Jetty-Rails.The way to run your JRuby on rails apps is so simple I thought their documentation was lacking! But it is really as simple as installing the jetty_rails gem!

The only missing piece were recipes and scripts to start, stop and restart the application when deploying with Capistrano. It was a simple matter of writing 2 scripts and the Capistrano recipe, with some experimentation in between I must admit :-)

Anyway, here are the scripts. The pid of the running jerry_rails process is stored in the file shared/tmp/pids/jetty_rails.pid.

script/spin




script/stop_jetty


There's a config file shared by these 2 scripts, put in script/jetty_config:


Put this in config/deploy.rb:


Notes


The start recipe is overwritten to add the option :pty => true. Without that option the nohup command isn't effective.
Using the nohup command is needed because there's currently no way to send the process to the background as a daemon, nor to store the PID in a specific file. These scripts do both.

Wednesday 10 December 2008

Apprenez le flamand!

Ca vous permettra d'écouter Radio 1, qui vous propose des
  • interviews et interventions en VO (exemple d'aujourd'hui: réaction de Barack Obama en VO, avec explication par après pour ceux ne comprenant l'anglais)
  • sujets variés, avec invités spécialistes, couverts rapidement, sans chichi
  • les journalistes qui posent assez souvent les questions ennuyantes
  • des infos routes précises et complètes
  • de la musique variée (parfois même francophone)

au lieu de (sur La Première, euh, pardon, La Première, accéder au site sans www devant le nom de domaine ne fonctionne pas....)
  • des interviews de personalités non francophones doublées, ce qui a parfois pour résultat que vous ne comprenez ni l'original, ni le doublage.
  • sujets couverts trop longuement (émission du matin)
  • à 18h un journaliste soporifique qui parlent plus que ses invités (avec tout le respect pour ses compétences journalistiques)
  • un taux de ratage de lancement de sujets pré-enregistrés phénoménal
  • infos-routes qui durent 20 secondes, la moitié de ce temps étant pris pour dire "et des files à tous les points habituels"
  • la méteo contradictoire prévoyant tout et son contraire (je n'ai pas pris note, mais cet exemple inventé est inspiré d'un billet réel: "il fera bon toute la journée aujourd'hui avec un ciel dégagé.......blablabal.... et le retour des éclaircies est prévu en fin de soirée")


Bon, tout n'est pas parfait non plus à la BRT VRT. Par exemple les journalistes ne posent pas toujours les questions ennuyantes, notament je pense en ce qui concerne les problèmes communautaires. Mais ne m'intéressant plus à ce sujet depuis belle lurette, je zappe quand on en parle à l'antenne, quelle que soit la radio.

Un conseille donc: si vous voulez obtenir une information variée, mondiale, et présentée de manière professionnelle, écoutez Radio 1 de la VRT.

Message se basant sur les plages horaires 7h-9h et 16h-19h.