# AbstractProducer(inputQueue,outputQueue,inputCondition,outputCondition,**kwargs): # bowBuilderSimple=BOWBuilderSimple(dummyQueue,countersQueue,None,countersQueueCondition,parserInstance=textLinklistParser) bowBuilderComplex = BOWBuilderComplex( dummyQueue, countersQueue, None, countersQueueCondition, parserInstance=textLinklistParser ) bowUpdaterSimple = BOWUpdaterSimple( countersQueue, None, countersQueueCondition, None, filesAdaptor=files, parserInstance=textLinklistParser ) # bowBuilderSimple.start() bowBuilderComplex.start() bowUpdaterSimple.start() debug.ThreadAwareLogger.debug("Waiting for threads to finish their work") # bowBuilderSimple.join() bowBuilderComplex.join() bowUpdaterSimple.join() while not countersQueue.empty(): debug.ThreadAwareLogger.debug("There are still some counters which are not in db yet. Fixing it.") files.updateBOW(countersQueue.get()) files.applyStemFilter() files.disconnectDB() debug.ThreadAwareLogger.info("BOW finished without critical errors.") # body end