2017-02-24 68 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']