Я пытаюсь запускать задание cron каждые 10 секунд, которое запускает фрагмент кода.Я использовал подход, который требует запуска кода и его бездействия на 10 секунд, но, похоже, он резко снижает производительность приложения.Я использую всякий раз, когда драгоценный камень, который работает каждую минуту и спит в течение 10 секунд.Как я могу добиться того же без использования метода сна.Ниже приведен мой код.
every 1.minute do
runner "DailyNotificationChecker.send_notifications"
end
class DailyNotificationChecker
def self.send_notifications
puts "Triggered send_notifications"
expiry_time = Time.now + 57
while (Time.now < expiry_time)
if RUN_SCHEDULER == "true" || RUN_SCHEDULER == true
process_notes
end
sleep 10 #seconds
end
def self.process_notes
notes = nil
time = Benchmark.measure do
Note.uncached do
notes = Note.where(status: false)
notes.update_all(status: true)
end
end
puts "time #{time}"
end
end
Цель моего кода - изменить логическое состояние объектов на true , которое проверяется каждый раз10 секунд.В этой таблице 2 миллиона записей.