def __init__(self): self.last_seq = None couch = couchdb.Server(config.COUCH_SERVER) couch.resource.credentials = (config.COUCH_UN, config.COUCH_PW) self.db = couch[config.COUCH_DB] self.db.info() # Will raise an error if it doesn't work logger.info("Connection to couch established") self.lastTimestamp = datetimeToStr(datetime.now() - timedelta(seconds=-2)) self.setLastSeq()
def getNumPostsAndUpdateSeq(self): try: retval = self.db.changes(since=self.last_seq, include_docs=True) numPosts = self.countUpdatesSince(retval.get("results"), self.lastTimestamp) self.last_seq = retval["last_seq"] self.lastTimestamp = datetimeToStr(datetime.now() - timedelta(seconds=-2)) except Exception as e: logger.error("getNumPostsAndUpdateSeq - failed. {0}".format(e), exc_info=True) numPosts = -1 return numPosts
def setLastSeq(self): self.lastTimestamp = datetimeToStr(datetime.now() - timedelta(seconds=-2)) results = self.db.changes(descending=True, limit=1) self.last_seq = results["last_seq"]