34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
# File 'lib/filer/watcher.rb', line 34
def self.run
begin
while running?
dirs_files = @settings[:directories].flat_map do |d|
Dir["#{d}/**/*"].reject {|f| File.directory?(f)}.
map {|f| [d, f]}
end
dirs_files.each do |(d, f)|
key = @s3.s3_key(d, f)
@s3.put_file(key, f)
fd = Filer::Filed.new(
key: key,
attachment: Base64.encode64(File.read(f)))
fd.save
File.delete(f)
end
self.notify("Processed #{dirs_files.size} files") unless dirs_files.empty?
sleep 10
end
rescue Exception => e
self.notify("Filer encountered an error. " <<
"See #{File.dirname(__FILE__)}/#{FILER_LOG}")
raise e
end
end
|