Changeset 161
- Timestamp:
- 04/16/08 01:42:00 (7 months ago)
- Files:
-
- branches/oo_indexer/lib/picolena/templates/app/models/indexer.rb (modified) (2 diffs)
- branches/oo_indexer/tasks/hack.rake (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/oo_indexer/lib/picolena/templates/app/models/indexer.rb
r160 r161 1 1 class Indexer 2 Exclude = /(Thumbs\.db)/ 3 MaxThreadsNumber = 5 2 # This regexp defines which files should *not* be indexed. 3 @@exclude = /(Thumbs\.db)/ 4 # Number of threads that will be used during indexing process 5 @@max_threads_number = 5 4 6 5 7 class << self … … 35 37 # 36 38 # Aborted (core dumped) 39 # 40 # But without those 2 lines, specs don't pass anymore. 41 # 37 42 log :debug => "Indexing done in #{Time.now-start} s." 38 43 end 39 44 40 45 def index_directory_with_multithreads(dir) 41 log :debug => "Indexing #{dir}, #{ MaxThreadsNumber} threads"46 log :debug => "Indexing #{dir}, #{@@max_threads_number} threads" 42 47 43 48 indexing_list=Dir[File.join(dir,"**/*")].select{|filename| 44 File.file?(filename) && filename !~ Exclude49 File.file?(filename) && filename !~ @@exclude 45 50 } 46 51 47 52 # Cutting indexing_list in slices to avoid treating too big a list. 48 53 # Migth raise a "stack level too deep" otherwise. 49 indexing_list.each_slice(100* MaxThreadsNumber){|indexing_list_chunk|54 indexing_list.each_slice(100*@@max_threads_number){|indexing_list_chunk| 50 55 log :debug => "NEW CHUNK!!!!!!!!!!" 51 56 @indexing_list_chunk=indexing_list_chunk 52 MaxThreadsNumber.threads{launch_indexing_chain(@indexing_list_chunk)}57 @@max_threads_number.threads{launch_indexing_chain(@indexing_list_chunk)} 53 58 } 54 59 end branches/oo_indexer/tasks/hack.rake
r152 r161 3 3 picolena_root=File.join(File.dirname(__FILE__),'..') 4 4 Dir.chdir(picolena_root){ 5 # Doesn't overwrite any file, Doesn't create any index, Doesn't launch any spec. 5 6 system("ruby bin/picolena lib/picolena/templates/spec/test_dirs/indexed --skip --no-index --no-spec --destination=lib/picolena/templates") 6 7 }
