How to use Rails cron?


#1

Hi,

How to use rails cron? can I get any link of reference guide?


#2

hi

if u know any link pleae post here…

Selvaraj wrote:

Hi,

How to use rails cron? can I get any link of reference guide?


#3

Hi Selvaraj,

I’m assuming you mean tying cron jobs to rails method calls?
Rails has a built in script called runner that you can use to call
Model methods, and there are a couple of other options as well
depending what action you want to run with the cron job.
Have a look here for a bit of a summary:
http://wiki.rubyonrails.org/rails/pages/HowToRunBackgroundJobsInRails

So the answer in short is it depends a bit what you want to do, for
instance I had a case where I needed to run a cron job to check the
expiry of an rss feed related model so I used script/runner
path_to_rails_app/script/runner -e production “Channel.check_expiry”
with a cron job to check this periodically.

This approach I believe is aimed at when you need to run Model methods
only, to run controller actions you may want to use something like
BackgrounDrb (http://backgroundrb.rubyforge.org/) and setup a method
to perform whatever action you need to run in the background.

Hope this helps,

Paul


#4

Hi Paul

I too need to run cron jobs to clean up some tables periodically.
The context is that an invite sent from one user – a member – to a
prospective member needs to be expired after a period of time.

This could give rise to race conditions because the record may ‘get
expired’ exactly at the time it is being edited by a user (and therefore
by the foreground rails controller)

So how does one take care of these situations in rails?

Thanks

pcrawfor wrote:

Hi Selvaraj,

I’m assuming you mean tying cron jobs to rails method calls?
Rails has a built in script called runner that you can use to call
Model methods, and there are a couple of other options as well
depending what action you want to run with the cron job.
Have a look here for a bit of a summary:
http://wiki.rubyonrails.org/rails/pages/HowToRunBackgroundJobsInRails

So the answer in short is it depends a bit what you want to do, for
instance I had a case where I needed to run a cron job to check the
expiry of an rss feed related model so I used script/runner
path_to_rails_app/script/runner -e production “Channel.check_expiry”
with a cron job to check this periodically.

This approach I believe is aimed at when you need to run Model methods
only, to run controller actions you may want to use something like
BackgrounDrb (http://backgroundrb.rubyforge.org/) and setup a method
to perform whatever action you need to run in the background.

Hope this helps,

Paul


#5

Hi Selvaraj

hi

if u know any link pleae post here…

Selvaraj wrote:

Hi,

How to use rails cron? can I get any link of reference guide?

http://railsenvy.com/2007/6/11/ruby-on-rails-rake-tutorial

Sijo


#6

hi all…
I m using cron for my application.
already for my 1st task i use the schedule.rb
again i want to use cron job again for my 2nd task.
is it possible to use the same schedule.rb file?
why i ask is whenever i modify any of my tasks settings it overwrites
the schedule.rb file.
so how can i solve this…
any ideas.
Thanks for Any HELPS