2
我正在嘗試使用每當gem時每小時運行一個任務。Rails 5:使用Cron作業每當不運行時
#check_price.rake
namespace :check_price do
desc "TODO"
task check_now: :environment do
price_sync = PriceSyncLibrary.new
Product.all.each do |product|
product.price.push(price_sync.get_price_from_link(product.flipkart_link))
product.time.push(Time.now)
product.save!
end
end
end
這是我schedule.rb文件
every 1.minute do
rake "check_price:check_now", environment: 'development'
end
當我運行
rake check_price:check_now
在終端
,我得到我想要的結果,但同樣的耙子任務不按schedule.rb文件中指定的每分鐘運行一次。我錯過了什麼嗎?
當我在控制檯中運行
crontab -l
,我得到這樣的結果。
# Begin Whenever generated tasks for: /home/raghav/workspace/apps/Shotgun/config/schedule.rb
* * * * * /bin/bash -l -c 'cd /home/raghav/workspace/apps/Shotgun && RAILS_ENV=production bundle exec rake check_price:check_now --silent'
# End Whenever generated tasks for: /home/raghav/workspace/apps/Shotgun/config/schedule.rb
# Begin Whenever generated tasks for: Shotgun
* * * * * /bin/bash -l -c 'cd /home/raghav/workspace/apps/Shotgun && RAILS_ENV=production bundle exec rake check_price:check_now --silent'
# End Whenever generated tasks for: Shotgun
你可以顯示用戶crontab文件中的內容嗎? –
請用這些信息[編輯]問題,這是不可讀的。 – Iceman
嘗試在沒有無聲標誌的命令行中的crontab中運行命令。 –