Как я могу вызвать метод на некотором интервале времени, используя драгоценный камень whenver в приложении rails? - PullRequest
0 голосов
/ 26 мая 2020

Метод написан в модели, но я не могу выполнить этот метод через некоторый промежуток времени, используя всякий раз, когда драгоценный камень, ниже мой код: -

stage.rb (model)

def check_project_activity
  // code here
end

schedule.rb

every 1.day, at: '4:30 am' do
    runner "Stage.check_project_activity"
 end

вызов метода генерирует ошибку, но вызов этого метода через терминал работает нормально.

Ответы [ 2 ]

0 голосов
/ 26 мая 2020

Вы показываете метод экземпляра, то есть вы можете вызывать check_project_activity только на конкретном c экземпляре стадии.

Может быть, вы хотите проверить активность проекта во всех проектах?

В этом случае в модели у вас будет

def self.check_all_stages_project_activity
  all.each do |stage|
    stage.check_project_activity
  end
end

А в schedule_rb у вас будет

every 1.day, at: '4:30 am' do
  runner "Stage.check_all_stages_project_ativity"
ed
0 голосов
/ 26 мая 2020

Вы вызываете метод экземпляра check_project_activity, как будто это метод класса.

Если ваш лог c не зависит от экземпляра, сделайте его методом класса

def self.check_project_activity
  // code here
  end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...