Cron не работает в Gem в разработке - PullRequest
0 голосов
/ 24 февраля 2019

Я написал этот метод в моей модели: -

class Message < ActiveRecord::Base
  def self.create_message
    ShortMessage.create(message: "cron job")
    puts "created"
  end
end

И затем я обновил файл schedule.rb: - ​​

every 1.minute do
  runner "Message.create_message", :environment => "development"
end

И, наконец, выполнил все эти команды: -

whenever --update-crontab
tail -f /var/log/syslog | grep CRON

Но в моей базе данных ничего не создано при проверке с консоли ShortMessage.last

Ответы [ 2 ]

0 голосов
/ 08 августа 2019

Очистить существующие задания cron.

crontab -r

Обновить cronjob с помощью среды.

whenever --update-crontab --set environment='development'
0 голосов
/ 24 февраля 2019

Cron не инициализирует полный сеанс, если вы используете менеджер версий ruby, такой как rvm - он может не загружаться, для использования в cron вам нужны оболочки ruby ​​или загрузка rvm, для более подробной информации смотрите документацию rvm оcron , команда для cron будет выглядеть как

cd (working-dir) && /usr/local/rvm/wrappers/default/bundle bin/rails runner -e development '\''Message.create_message'\'''
...