I have been using cron tasks that invoke curl that invokes the routes
that perform the periodic tasks for several years. This works on all
versions of Rails (of course you have to be running *nix). I gave up on
using Rails plugins, etc. because every time I did an update, the darned
things broke (and now they seem to have gone away entirely).
Donz
On 1/11/2011 5:14 PM, Douglas Fonseca wrote:
> Hi,
> I'm developing a rails app that needs to run scheduled tasks, does
> someone knows how can I do that?
> I've tried backgroundrb, but without success...
> Looks like backgroundrb is outdated with my version of rails (3.0.3),
> Does anybody confirms?
> Thanks in advance,
> ---------------------------------------------------
> Douglas Fonseca
> Engenharia da Computa��o 2010
> Universidade Estadual de Campinas
>
> --
> You received this message because you are subscribed to the Google
> Groups "Ruby on Rails: Talk" group.
> To post to this group, send email to rubyonra...@googlegroups.com.
> To unsubscribe from this group, send email to
> rubyonrails-ta...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/rubyonrails-talk?hl=en.
Look at local_request? method in ActionController.
HTH,
Jeffrey
Jeffrey
local_request? would work too.
Donz
> I restrict the ip to 0.0.0.0 (localhost) so no one outside the
> server can use the route. If someone is able to hack into the
> server itself, all bets are off. :-( . So far I haven't had any
> problems, and the site has been up for 3.5 years so far.
>
> local_request? would work too.
I need to do something similar -- keep all but cron requests from the
same server from tripping a particular method in my controller. Can
you elaborate on how local_request? could be used for that purpose? I
looked at the documentation, and it appears to be a test you can run
on an exception, but I'm not clear how to employ it -- what would I
use to raise the exception in the first place?
Is it as simple as this?
def my_api_method
send_out_a_bunch_of_mail if local_request?
end
My gut tells me no, there's an object missing here.
Walter
The object is an ActiveController instance, i.e. an HTTP request handler. The
method checks the IP address of the requester.
Jeffrey