How to check if whenever gem is working?

4.3k views Asked by At

I've got the following configuration. I've installed whenever gem, created shedule.rb:

# Learn more: http://github.com/javan/whenever

every 6.hours do
    runner "Part.check_status_update"
end

In part.rb model I have corresponding method.

A. How can I check if whenever runs? As I understand it should only modify the crontab after whenever command in the bash, yes?

B. If the method is not triggered - then how can I debug the scheduled jobs? If I put into my method puts statements - where shall they be stored or outputted?

1

There are 1 answers

0
Kimball On BEST ANSWER

You need to define a log file, which will then receive any output from your Part.check_status_update call (such as puts calls). You can set a default log file for all of your jobs at the top of your schedule.rb file, such as:

set :output, '/path/to/file.log'

For example, to log to Rails.root/log/whenever.log:

set :output, 'log/whenever.log'

You can also define the output per-task:

runner "Part.check_status_update", :output => 'log/check_status_update.log'

See the Whenever wiki entry on the subject for a full explanation of details and options, such as logging errors to a separate file.