У меня есть следующий метод класса, который я вызываю через любой камень. Если я вызову метод из консоли Rails, он отлично работает. Если он вызывается из любого задания cron, первые два регистрационных вызова отображаются в файле журнала, поэтому я знаю, что он называется okay. Однако третьего нет.Всякий раз, когда камень не распознает экземпляр класса
кажется, что выполнение метода, как хрон распознает класс, но не подключен к базе данных, чтобы получить отдельные экземпляры «Message»
Любая помощь ценится
def self.check_saved_messages
#Code to test the method with the 'whenever' gem.
my_logger.warn("Scheduler fired at #{Time.now} Logger 1")
# 1. Grab all messages that have not been sent.
@messages = Array.new #Creates new array to store messages in.
#Stores all messages that have not been sent in @messages array.
my_logger.warn("Scheduler fired at #{Time.now} #{Message.all} Logger 2") #Works as Cron job
my_logger.warn("Scheduler fired at #{Time.now} #{Message.last} Logger 3") #Doesn't work as cron job
Message.where(sent: false).find_each do |message|
@messages.push(message)
end
# 2. Iterate through them and find the ones where the time has past to send.
current_time = Time.now.utc
#Send messages that have a send_time earlier than current time.
@messages.each do |message|
if current_time.to_i > message.send_time.to_i
message.send_message
message.send_time # Testing (working)
end
end
end