Я использую Whenever gem, чтобы запланировать некоторые работы на моем сайте. В настоящее время я работаю над средой разработки.всякий раз, когда gem не работает, Rails 4
У меня есть драгоценный камень, как подсказывает руководство.
В schedule.rb
every 2.minutes do
rake "vip_recomend:give"
end
В Lib/задач/vip_recomend.rake
namespace :vip_recomend do
desc "Give vip recomend to ads that are in waiting list"
task give: :environment do
girls = Girl.all
girls.each do |girl|
BlacklistMailer.blacklisted(girl).deliver
end
user = User.first
UserMailer.password_reset(user).deliver
end
end
Тогда я попробовал эти comands:
whenever --set environment=development --update-crontab
или
whenever --update-crontab
Ничего не происходит.
Затем я проверяю, если хроны обновляются с моим материалом с этим:
crontab -l
Выход:
# Begin Whenever generated tasks for: /home/my_host/blogs/config/schedule.rb
* * * * * /bin/bash -l -c 'cd /home/my_host/blogs && RAILS_ENV=development bundle exec rake vip_recomend:give --silent >> /log/cron_log.log 2>&1'
# End Whenever generated tasks for: /home/my_host/blogs/config/schedule.rb
Когда я пытаюсь запустить задачу грабель из консоли это работает.
Любая помощь по этому вопросу? Спасибо.
Update 1
когда в schedule.rb я это
env :PATH, ENV['PATH']
В журналах ошибок хрон я получаю это сообщение.
/opt/alt/ruby21/lib64/ruby/2.1.0/rubygems/dependency.rb:298:in `to_specs': Could not find 'bundler' (>= 0) among 8 total gem(s) (Gem::LoadError)
from /opt/alt/ruby21/lib64/ruby/2.1.0/rubygems/dependency.rb:309:in `to_spec'
from /opt/alt/ruby21/lib64/ruby/2.1.0/rubygems/core_ext/kernel_gem.rb:53:in `gem'
from /home/individualki/rubyvenv/ror/2.1/bin/bundle:22:in `<main>'
Все еще не работает ... – Edgars
Я добавил ': output =>' log/cron.log ', и теперь я получаю это/bin/bash: bundle: команда не найдена в cron.log – Edgars
Можете ли вы попробовать запустить' bundle обновить 'из командной строки? – MarsAtomic