1
저는 Ruby 1.9.2와 Rails 3.0.7을 사용하고 있습니다. 나는 cron 작업을 사용하여 매 15 분 간격으로 하나의 CSV 파일을 생성하는 루비 백엔드 스크립트를 작성했습니다.CSV 파일을 구문 분석 할 때 빈 값을 반환 할 때 해결 방법은 무엇입니까?
백 엔드 루비 스크립트를 성공적으로 만들어 위의 스크립트 CSV 파일 (count.csv)에서
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
. 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 파일에서 카운트 값을 얻을 수없는 모든 레코드에 대해 0을 반환하고 실행 완료 후 계산의 가치를 얻을 수 있습니다. 하지만 나는 cron 실행 중지 또는 시작 여부를 카운트 값을 항상 필요, 어느 누구도 해결하거나 제안을 도와 드릴까요? 미리 감사드립니다.
코드가 괜찮습니다. '@ id'가 초기화 되었습니까? –
@ 대니얼 - 예. 초기화했습니다. 문제는 루비 스크립트 실행 중에 발생합니다. 레일 사이드에서 나는 모든 데이터에 대해 0을 얻었다. 그 일은 어때? 어떤 추측인가? – prabu
Rails에서 단순히'obj.get_count'를 호출하는 것과는 대조되는 이유는 무엇입니까? –