我正在使用每當寶石安排我的網站上的一些工作。 目前我正在開發環境。每當寶石不工作時,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
然後我嘗試這些命令對應:
whenever --set environment=development --update-crontab
或
whenever --update-crontab
什麼也沒有發生。
然後我檢查是否cron是更新了我的東西,這一點:
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
當我試圖從它的工作原理控制檯運行rake任務。
對此有何幫助? 謝謝。
更新1
當schedule.rb我有這個
env :PATH, ENV['PATH']
在cron錯誤日誌我得到這個消息。
/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