L'application My rails lance un processus avec rufus-scheduler dans un initialiseur. Voici une version allégée du code du initialiseur:Rufus scheduler ne se connecte pas en production
# config.logger isn't available here, so we have to grab it from the Rails object
logger = RAILS_DEFAULT_LOGGER
logger.warn(Time.now.to_s + ": Starting Rufus Scheduler")
# run every Wednesday at 10 AM
cron_string = '0 10 * * 3'
scheduler = Rufus::Scheduler.start_new
scheduler.cron cron_string do
logger.warn(Time.now.to_s + ": Starting Background Process")
(do work here)
logger.warn(Time.now.to_s + ": Finished Background Process")
end
logger.warn(Time.now.to_s + ": Rufus Scheduler set Background Process to run with the following cron string: [#{cron_string}]")
Dans tous les environnements, le code fonctionne comme un champion. Le processus de peuplement fait sa chose et se termine gracieusement. Le problème, cependant, est avec la journalisation. Lorsque RAILS_ENV est défini sur "production", les messages à l'intérieur du bloc cron ne se connectent pas du tout. J'utilise Passenger 2.2.9 et Rails 2.3.5. Je pense que l'une de ces deux choses empêche le processus de se connecter. Quelqu'un peut-il me dire ce que c'est et comment l'obtenir pour se connecter à la production?