Search code examples
ruby-on-rails-4croncron-task

Cron Job issu with rails - gem whenever


I am trying to do a simple Cron task using the gem whenever for rails.

How can I tell whenever to trigger a controller action ?

What I wan to do :

every 1.minute do
    runner "Mycontroller.index", :environment => 'development'
end

What i want to do is to trigger the action index in my DataController every minute. The index action trigger a mailer.

I run : whenever --update-crontab football

also when I start/restart my server I get a tinny message as follow:

You have new mail in /var/mail/Antoine

[2015-04-12 18:38:17] INFO WEBrick 1.3.1 [2015-04-12 18:38:17] INFO

ruby 2.1.3 (2014-09-19) [x86_64-darwin14.0] [2015-04-12 18:38:17] INFO

WEBrick::HTTPServer#start: pid=22476 port=3000 ^C[2015-04-12 18:38:52]

INFO going to shutdown ... [2015-04-12 18:38:52] INFO

WEBrick::HTTPServer#start done. Exiting You have new mail in /var/mail/Antoine


Solution

  • Okay I figured it out:

    every 1.day, :at => '4:30 am' do
        command "curl http://localhost:3000", :environment => 'development'
    end
    

    I use the command curl to got to the route where I wish to trigger a controller action.

    I also understood that I need to run whenever -w to write the cron task and then I can do crontab -l to see my ongoing cron tasks and if I wan to remove cron taks I just need to run crontab -r