无法使其有效......
在我的config / schedule.rb中,我有:
set :output, '../log/development.log'
every 5.minutes do
runner "UserWatchedRepo.update"
end
请注意日志设置,但没有任何反应。在我的Rails 3.0.10模型文件app / models / user_watched_repo.rb中,我得到:
class UserWatchedRepo
include Mongoid::Document
def update
conn = FaradayStack.build 'https://api.github.com'
User.all.map do |user|
nickname = user.nickname
resp = conn.get "/users/#{nickname}/watched"
resp.body.each do |repo|
user.watchlists.build( html_url: "#{repo['html_url']}",
description: "#{repo['description']}",
fork_: "#{repo['fork']}",
forks: "#{repo['forks']}",
watchers: "#{repo['watchers']}",
created_at: "#{repo['created_at']}",
pushed_at: "#{repo['pushed_at']}",
avatar_url: "#{repo['owner']['avatar_url']}" )
end
user.save!
end
end
end
有什么想法吗?
谢谢 卢卡
答案 0 :(得分:4)
您是否在控制台中运行了whenever
命令?
你的代码实际上并没有创建一个cronjob,它只是为必须转换为实际cronjob的gem提供输入数据。
要完成此操作,您必须cd
进入您的应用程序根目录并运行以下命令:
whenever --update-crontab YOUR_APP_NAME
据我所知,YOUR_APP_NAME
不一定是您的实际应用名称,它只是一个唯一的标识符。我认为使用您的appname避免混淆是一种很好的做法。