我使用的是ruby 1.9.2和Rails 3.0.7。我编写了ruby后端脚本,它将使用cron job每隔15分钟创建一个CSV文件。
后端ruby脚本:
CSV.open("count.csv", 'wb',:col_sep=>',') do |csv|
# header row
csv << ['id', 'count']
models = Model.all
models.each do |obj|
csv << [ obj.id, obj.get_count]
end
end
从上面创建的脚本CSV文件(count.csv)成功。在Rails应用程序中,
CSV.foreach("count.csv", :quote_char => '"', :col_sep =>',', :row_sep =>:auto, :headers => true) do |row|
count = row["count"].to_i if row["id"].to_i == @id
end
我需要解析该CSV文件中的计数值。但问题是当cron执行的时间,我无法从该CSV文件获取计数值为所有记录返回零,并且在执行完成后我可以获得计数值。但我总是需要计数值cron执行是停止还是启动,任何人都可以帮我解决或任何建议吗?提前致谢。
答案 0 :(得分:1)
models = Model.all
models.each do |obj|
csv_string << [ obj.id, obj.get_count]
end
CSV.open("count.csv", 'wb',:col_sep=>',') do |csv|
# header row
csv << ['id', 'count']
csv << csv_string
end