I searched all over the internet for this, and the documentation isn\'t really talking about monthly jobs in specific. So I was hoping that someone here could tell me how to do
If you want it more readable you can also just parse a date in text.
every 1.month, :at => 'January 20th 2:00am' do
runner "Mailer.send_friend_sheet"
end
This will generate 0 2 20 * *
as well.
Even better:
every 1.month, at: 'start of the month at 2am' do
runner "Mailer.send_friend_sheet"
end
You can use raw cron syntax as well if you cant figure out how to use with ruby syntax.
What you want will look like:
every '0 2 20 * *' do
command "echo 'you can use raw cron syntax too'"
end
Here is a quick cheatsheet for how to use cron syntax
* * * * * command to be executed
- - - - -
| | | | |
| | | | +----- day of week (0 - 6) (Sunday=0)
| | | +------- month (1 - 12)
| | +--------- day of month (1 - 31)
| +----------- hour (0 - 23)
+------------- min (0 - 59)
Shamelessly stolen from: http://adminschoice.com/crontab-quick-reference
Whenever doesn't support an :on
option as far as I am aware, but you should be able to do
every '0 2 20 * *' do
runner "Mailer.send_friend_sheet"
end
The '0 2 20 * *' is simply the relevant cron syntax - see http://www.manpagez.com/man/5/crontab/