36 lines
835 B
Ruby
36 lines
835 B
Ruby
desc "This task is called by the Heroku scheduler add-on"
|
|
|
|
# Every day at 6am
|
|
task enqueue_digest_emails: :environment do
|
|
Jobs::EnqueueDigestEmails.new.execute(nil)
|
|
end
|
|
|
|
# Every day at 4am
|
|
task category_stats: :environment do
|
|
Jobs::CategoryStats.new.execute(nil)
|
|
end
|
|
|
|
# Every 10 minutes
|
|
task periodical_updates: :environment do
|
|
Jobs::PeriodicalUpdates.new.execute(nil)
|
|
end
|
|
|
|
# Every day
|
|
task version_check: :environment do
|
|
Jobs::VersionCheck.new.execute(nil)
|
|
end
|
|
|
|
def time
|
|
start = Time.now
|
|
yield
|
|
puts "Elapsed #{((Time.now - start) * 1000).to_i}ms"
|
|
end
|
|
|
|
desc "run every task the scheduler knows about in that order, use only for debugging"
|
|
task 'scheduler:run_all' => :environment do
|
|
Scheduler::Manager.discover_schedules.each do |schedule|
|
|
puts "Running #{schedule}"
|
|
time { schedule.new.execute({}) }
|
|
end
|
|
end
|