jak niektórzy pewnie wiedzą, napisałem sobie w ror prostą galerię zdjęć lotniczych. dziś zaczęła mi się dziwnie zachowywać.
otóż fotki do tejże galerii dodawane są po prostu przez ftp. a następnie prosta akcja wrzuca je do bazy (parametrem jest data):
def read_directory
@dir = @params[:id]
directory = @params[:id].split(/-/).join('/')
raise Dir.pwd + "public/photo/#{directory}" if not(File.exists?("#{RAILS_ROOT}/public/photo/" + directory))
dir = Dir.pwd
Dir.chdir("#{RAILS_ROOT}/public/photo/" + directory)
@files = Dir.glob('[^th]*.jpg').sort
Dir.chdir(dir)
@files.sort.each do |file|
if (Photo.find(:first, :conditions => ["date = ? AND filename = ? ", directory, file]).nil?)
photo = Photo.new()
photo.filename = file
photo.date = directory
photo.save
end
end
end
no i dziś wrzuciłem 40 zdjęć i ku mojemu zdziwieniu, niektóre z nich zostały umieszczone w bazie 2 razy. zazwyczaj zaraz po sobie, ale niekoniecznie. innymi słowy, 40 zdjęć dało ok. 65 rekordów. operację powtórzyłem: to samo, ale duplikatów mniej. potem jeszcze raz i już jest ok.
co to może być? może się jakieś dodatkowe procesy fcgi odpalają?