Exemple #1
0
    # 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