[Backgroundrb-devel] Scheduling in backgroundrb not working

Ashwin ashwin.bvn at azri.biz
Wed Feb 14 02:30:16 EST 2007


Hi ,
     How do i schedule a job that can send emails at intervals of time
     using backgroundrb and rails

     For testing When i hit the controller i'm able send the emails.
     but that is not i intend to do .....

     I want to use backgroundrb and rails in which i'll schedule a job
     for every 5 minutes/ 1 minute or so..... to send an email

     But when i write .yml file as given by the
     http://backgroundrb.rubyforge.org/

     I'm unable to send emails ....... Infact my backgroundrb_server.log
     shows that scheduler is not even get triggered for every minute or
so

     I've no clue y the Scheduler is not working for every 1 minute or
so
     ........  Any help is appreciated !!!!



My Server details:

Ruby 1.8.4
Rails 1.1.6
Backgroundrb - 1.2.1
CENT OS ..
(Installed backgroundrb as rails plugin ie. /vendor/plugins/background...)


------------------------------------ backgroundrb.yml-----------------

:host: localhost
:port: 2000
:rails_env: development


my_scheduler:
    :class: :mailman_worker
    :job_key: :foo_name
    :worker_method: :send_emails_to_people
    :trigger_args: 0 */1 * * * * *



------------------------------------------my mailman_worker.rb --------

class MailmanWorker < BackgrounDRb::Worker::RailsBase

  def do_work(args)
    # This method is called in it's own new thread when you
    # call new worker. args is set to :args
    # Replace this with your code
    #
    logger.info('I am in do work')
  end

  def send_emails_to_people

    @d_evals = User.find(:all,:conditions => ['id <= ?',3]

    for lop in @d_users
      logger.info('I am in loop')
      @user = User.find(:first, :conditions => [ 'id = ?',lop.id])
      UserNotify.deliver_people_emails(@user)
    end

  end

end
MailmanWorker.register


-------------------------------------Controller code-----

class TestffController < ApplicationController


  def a_pop
      MiddleMan.new_worker(:class => :mailman_worker, :job_key =>
:foo_name)
      worker = MiddleMan.worker(:foo_name)
      worker.send_emails_to_people
      worker.delete
  end

end


--------------------------backgroundrb_server.log---------------------------------------------

I am in do work
20070213-20:15:22 (29661) I am in send_emails_to_people
20070213-20:15:22 (29661) I am in loop
20070213-20:16:04 (29668) Starting WorkerLogger
20070213-20:16:05 (29669) In ResultsWorker
20070213-20:16:07 (29669) I am in do work
20070213-20:16:07 (29669) I am in send_emails_to_evaluators
20070213-20:16:07 (29669) I am in loop
20070213-20:16:13 (29669) I am in loop
20070213-20:16:19 (29669) I am in loop

20070214-13:40:47 (1672) Starting WorkerLogger
20070214-13:40:48 (1673) In ResultsWorker
20070214-13:41:32 (1673) I am in do work
20070214-13:41:32 (1673) I am in send_emails_to_people
20070214-13:41:33 (1673) I am in loop
20070214-13:41:39 (1673) I am in loop
20070214-13:41:46 (1673) I am in loop


0070214-13:45:48 (1694) Starting WorkerLogger
20070214-13:45:49 (1695) In ResultsWorker



 ------ Ashwin Kumar



More information about the Backgroundrb-devel mailing list