Exemple #1
0
    def test_update_pages_score(self):
        config = Config()
        config.MAX_PAGE_SCORE = 15000000

        self.db.query(Page).delete()
        self.sync_cache.redis.delete('pages-score')

        page1 = PageFactory.create(score=3)
        page2 = PageFactory.create(score=0)

        for i in range(3):
            self.sync_cache.increment_page_score(page1.id)

        self.sync_cache.increment_page_score(page2.id)

        expect(page1.score).to_equal(3)
        expect(page2.score).to_equal(0)

        Page.update_pages_score(self.db, self.sync_cache, config)
        self.db.flush()

        self.db.refresh(page1)
        self.db.refresh(page2)

        expect(page1.score).to_equal(6)
        expect(page2.score).to_equal(1)
Exemple #2
0
    def _update_pages_score(self):
        expiration = self.config.UPDATE_PAGES_SCORE_EXPIRATION
        lock = self.cache.has_update_pages_lock(expiration)

        if lock is not None:
            self.debug('Updating pages score...')
            Page.update_pages_score(self.db, self.cache, self.config)
            self.cache.release_update_pages_lock(lock)
            self.last_update_pages_score = datetime.utcnow()