2017-02-24 67 views
0

我有有一个轨重复事件与每当宝石

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 

我想这是执行每5分钟一个胜利者控制器,我尝试使用,只要创业板这样

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

上午得到这个错误

/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 

我在做什么错在这里。

+0

得到的错误,当你做了什么? – Iceman

+0

从每当cronjob –

+0

你可以运行一个控制器方法作为一个cronjob,是不是只有模型方法? – Iceman

回答

1

尝试增加

env :PATH, ENV['PATH'] 

您schedule.rb文件的顶部。

+0

这个生成的cronjob ''' #开头每当生成的任务: 0,2,4,6,8,10,12,14,16,18,20 ,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58 * * * */bin/bash -l -c 'CD /家庭/ geniuskid /导轨/ selfiestar &&束EXEC斌/轨道亚军-e生产 '\'' Winner.create '\'” >>登录/ cron_log.log 2>&1' ''' 仍然返回comman找不到 –

0

尝试增加

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