Per la mia app RubyOnRails devo avviare un lavoro in background alla fine della distribuzione di Capistrano. Per questo, ho provato quanto segue in deploy.rb:Avvio delle attività in background con Capistrano
run "nohup #{current_path}/script/runner -e production 'Scheduler.start' &", :pty => true
volte questo funziona, ma il più delle volte non si avvia il processo di (= non compresi ps -aux). E non ci sono messaggi di errore. E non c'è nohup.out, non nella directory home e non nella directory dell'app rails.
Ho provato a usare trap ('SIGHUP', 'IGNORE') in scheduler.rb invece di nohup, ma il risultato è lo stesso.
L'unico modo per farlo funzionare è rimuovere ": pty => true" e fare un Ctrl-C manuale alla fine di "cap deploy". Ma non mi piace ...
Ci sono altre possibilità di richiamare questo Scheduler.start? O per ottenere altri messaggi di errore?
sto usando Rails 2.3.2, 2.5.8 Capistrano, Ubuntu Hardy sul server
Eventuali suggerimenti? Continua a combattere con il riavvio del processo in background qui ... –