Я использую каждый раз для задачи cron.
Это мой файл schedule.rb"
set :output, "#{path}/log/cron.log"
set :environment, 'develop'
every 2.minutes do
runner "User.say_hello"
end
но он пишет в crontab с дополнительными обратными косыми чертами и не работает
script/rails runner -e develop '\''User.say_hello'\''
Но так и должно быть?
script/rails runner -e develop 'User.say_hello'
ОБНОВЛЕНИЕ
Это мой метод класса в классе User
def self.say_hello
Mailer.cooperation("current_user").deliver!
end
Выдает эту ошибку
You did not specify how you would like Rails to report deprecation notices for your develop environment, please set config.active_support.deprecation to :log, :notify or :stderr at config/environments/develop.rb
/home/sunloverz/.rvm/gems/ruby-1.9.3-p448@socposts/gems/activerecord-3.2.13/lib/active_record/connection_adapters/abstract/connection_specification.rb:47:in `resolve_hash_connection': database configuration does not specify adapter (ActiveRecord::AdapterNotSpecified)
from /home/sunloverz/.rvm/gems/ruby-1.9.3-p448@socposts/gems/activerecord-3.2.13/lib/active_record/connection_adapters/abstract/connection_specification.rb:41:in `resolve_string_connection'
from /home/sunloverz/.rvm/gems/ruby-1.9.3-p448@socposts/gems/activerecord-3.2.13/lib/active_record/connection_adapters/abstract/connection_specification.rb:25:in `spec'
я уже добавила
config.active_support.deprecation = :log
В журнале cron он печатает и не отправляет почту,
но Mailer.cooperation("current_user").deliver!
отправляет почту из консоли rails
База данных.yml
development:
adapter: postgresql
encoding: utf8
reconnect: false
database: project_db
pool: 5
username: root
password: lkjsdEEdfd
host: localhost
User.say_hello
в консоли, и она работает нормально, попробуйте запуститьwhenever
в терминале и скопируйте и вставьте команду, запускаемую cron. Скорее всего, вы увидите ошибку там. также проверьте журналы. - person jvnill   schedule 13.03.2014execute :chmod, 'u+x', "#{release_path}/bin/rails"
- person sissy   schedule 13.03.2014config.active_support.deprecation = :log
в своем файлеenvironment/develop.rb
. Ты это пробовал? - person sissy   schedule 13.03.2014