2015-09-25 45 views
0

我正在編寫一個Rake任務。我想在晚上11點每個月的最後一個星期天觸發它。如何在Rails中隨時使用Rake任務

我該如何使用Ruby on Rails中的每當gem進行安排?

我有以下位置我的耙子任務:應用程序/ lib目錄/任務/ my_task.rake

task :create_entries => :environment do 
    puts "Hello" 
end 

回答

2

我不認爲有一個爲「每月最後×天」的規則,但你可以始終把額外if試塊中:

every :sunday, :at => '11pm' do 
    #if the month is different a week from now, we must be in the last 
    #sunday of the month 
    if Time.now.month != 1.week.from_now.month 
    rake "my:rake:task" 
    end 
end 

所以,這個計劃的代碼將運行每個星期天,但它只會去調用rake任務如果時間符合其他條件。