Forum: Ruby on Rails how to use Rails cron?

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
0b119a0054ac02e180950a8d247a4fbe?d=identicon&s=25 Selvaraj (Guest)
on 2007-05-26 11:02
Hi,

 How to use rails cron? can I get any link of reference guide?
0b119a0054ac02e180950a8d247a4fbe?d=identicon&s=25 Selvaraj (Guest)
on 2007-05-26 15:28
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?
8087c0da219e44c0caee3ab2337aad03?d=identicon&s=25 pcrawfor (Guest)
on 2007-05-27 16:08
(Received via mailing list)
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/HowToRunBa...

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
Ae477ee7167a8775fe92ab921ffd7a42?d=identicon&s=25 Ra PM (rpm13)
on 2007-05-28 06:09
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/HowToRunBa...
>
> 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
3083ca8f0496edaac2fa10c20630d0bc?d=identicon&s=25 Newb Newb (newb)
on 2009-11-07 14:07
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
661ae6e97d0e16c2af2aaf7d197e8387?d=identicon&s=25 Sijo k g (sijo)
on 2009-11-09 06:27
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
This topic is locked and can not be replied to.