#!/usr/bin/env ruby require 'rubygems' require 'daemons' require File.expand_path(File.join(File.dirname(__FILE__), '..', 'config', 'environment')) Daemons.run_proc('navvy_worker', :dir => Rails.root.join('tmp/pids')) do logger = Logger.new Rails.root.join('log/navvy.log') db_config = YAML::load( IO.read Rails.root.join('config/mongodb.yml') ) mongo = db_config[Rails.env] MongoMapper.connection = Mongo::Connection.new( mongo['host'] || 'localhost', mongo['port'] || 27017, :logger => logger ) MongoMapper.database = mongo['database'] loop do Navvy::Job.next.each do |job| result = job.run logger.info "* #{job.object.to_s}.#{job.method_name}\n" + " (#{job.args.join(', ')}) => #{result}" end sleep Navvy.configuration.sleep_time end end # vim ft=ruby