Re: Background daemon

Ram
Mon, 03 Aug 2009 08:16:30 -0000

if you had initially set it to sending every hour and then changed it
to every day in between, then u may have to re-start the daemon.. did
you do that?
but i second Michael.. you should be using a cron for this.

On Aug 3, 7:47 am, Michael Guterl
<rails-mailing-l...-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org>
wrote:
> Penelope West wrote:
> > It''s sending e-mail every hour, but I changed to sleep for a
day, but
> > keep send the e-mail by hour. I don''t know what to do to send
daily.
> > Could somebody help me?
>
> > thanks
> > ############
> > #  mailer.rb
> > ###############
> > #!/usr/bin/env ruby
>
> > # You might want to change this
> > ENV["RAILS_ENV"] ||= "production"
>
> > require File.dirname(__FILE__) + "/../../config/environment"
>
> > $running = true
> > Signal.trap("TERM") do
> >   $running = false
> > end
>
> > while($running) do
>
> >     Notifier.deliver_report_daily
> >     #ActiveRecord::Base.logger.info "This daemon is still running
at
> > #{Time.now}.\n"
>
> >     sleep 86400
>
> > end
>
> > ###########
> > # deploy.rb
> > ############
> > desc "Stop daemons before deploying"
> > task :before_deploy do
> > run "#{current_path}/script/daemons stop"
> > end
>
> > desc "Start daemons after deploying"
> > task :after_deploy do
> > run "#{current_path}/script/daemons start"
> > end
>
> I certainly would not use a long running daemon for this purpose.  You
> should look into using cron and script/runner to execute the task daily.
>
> 0 8 * * * /path/to/rails/app/script/runner -e production
> "Notifier.deliver_report_daily"
>
> This will deliver your daily report each day at 8 am.
>
> Best,
> Michael Guterl
> --
> Posted viahttp://www.ruby-forum.com/.