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)
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()