Hoje, ao tentar configurar o BackgrounDRb, comecei a tomar esse erro na cara ao tentar subir o servidor de processos:
lucas@work:~$ script/backgroundrb start
Starting BackgrounDRb ….
/app/trunk/vendor/plugins/backgroundrb/lib/backgroundrb/bdrb_start_stop.rb:42:in `initialize’: No such file or directory – /app/current/tmp/pids/backgroundrb_11006.pid (Errno::ENOENT)
from /app/trunk/vendor/plugins/backgroundrb/lib/backgroundrb/bdrb_start_stop.rb:42:in `open’
from /app/trunk/vendor/plugins/backgroundrb/lib/backgroundrb/bdrb_start_stop.rb:42:in `start’
from /app/current/script/backgroundrb:35
Depois de fuçar um pouco, o problema é que se o arquivo não existe, ele tenta criar, mas falha se o diretório pids não existir. O que eu não entendi é porque ele não cria os diretórios que faltam no meio do caminho.
Enfim, se esse problema acontecer com você, um simples mkdir RAILS_HOME/tmp/pids salvará a sua vida.