简体   繁体   English

Rails重复事件与每当gem

[英]rails recurring event with whenever gem

i have a winner controller which have a 我有一个赢家控制器,其中有一个

before_action :set_winners
  def create

    Winner.create(
    date: Time.now,
    likes: winner.selfy.likes_count,
    user_id: winner.user.id,
    selfy_id: winner.selfy.id
    )
  end
private

def set_winners
  date = DateTime.now.utc
  likes = Like.where('created_at >= ? and created_at <= ?', 2.week.ago.beginning_of_week, 1.week.ago.end_of_week).select(:selfy_id)
  top = Selfy.where(id: likes)
  top.order("COALESCE(likes_count, 0) DESC").limit(1)
end

i want this to be perform every 5 minutes, i try to use whenever gem like this 我希望每5分钟执行一次,只要有这样的宝石,我就会尝试使用

every 2.minutes do
#   command "/usr/bin/some_great_command"
   runner "Winner.create"
#   rake "some:great:rake:task"
 end

am getting this error 正在收到此错误

/bin/bash: bundle: command not found
/bin/bash: bundle: command not found
/bin/bash: bundle: command not found
/bin/bash: bundle: command not found
/bin/bash: bundle: command not found
/bin/bash: bundle: command not found

what am i doing wrong here. 我在这里做错了什么。

Try adding 尝试添加

  env :PATH, ENV['PATH'] 

to the top of your schedule.rb file. 到schedule.rb文件的顶部。

Try adding 尝试添加

env :PATH, ENV['PATH']
env :GEM_PATH, ENV['GEM_PATH']

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM