def cleanExpiredItem(self): expiringItems = rs.zrange(ORDERED_SET, 0, -1) verifyingItems = filter(lambda x: x.startswith(VERIFYING_PREFIX), expiringItems) for verifyingKey in verifyingItems: print rs.zscore(ORDERED_SET, verifyingKey) - time.time(), '---' if rs.zscore(ORDERED_SET, verifyingKey) < time.time(): # if a verifying key in zset, if it is expired by score, # first check if this key exist in verifying pool, # if not, just delete from zset rs.zrem(ORDERED_SET, verifyingKey) data = rs.hgetall(verifyingKey) if not data: break title = verifyingKey.strip(VERIFYING_PREFIX) verifiedKey = VERIFIED_PREFIX + title rs.zadd(ORDERED_SET, VERIFIED_PREFIX+title, time.time()+VERIFIED_EXPIRE) rs.hmset(verifiedKey, data) rs.expire(verifiedKey, VERIFIED_EXPIRE) rs.delete(verifyingKey) notVerifyingItem = filter( lambda x: not x.startswith(VERIFYING_PREFIX), expiringItems) for item in notVerifyingItem: if rs.zscore(ORDERED_SET, item) < time.time(): rs.zrem(ORDERED_SET, item)
def getConfig(self): self.SinaAppKey = "" self.SinaAppSecret = "" self.Domain = "" self.sameItemInterval = 24 confdict = rs.hgetall(MoePadConfKey) for key in confdict: setattr(self, key, confdict[key])
def getWeiboApi(self): AuthInfo = WeiboAuthInfoRedis("original") token = rs.hgetall("WeiboAuth"+"original") self.weiboApi = WeiboApi( MPConf.SinaAppKey, MPConf.SinaAppSecret, MPConf.Domain+'/sinacallback', token['access_token'], token['expires_in'])
def getItemTobeSend(self): ItemTobeSendTitle = None expiringItems = rs.zrange(ORDERED_SET, 0, -1) verifiedItems = filter(lambda x: x.startswith(VERIFIED_PREFIX), expiringItems) print expiringItems print verifiedItems if verifiedItems: ItemTobeSendTitle = verifiedItems.pop(0) if not ItemTobeSendTitle: logger.info('No verified New Item') editedItems = filter(lambda x: x.startswith(EDITED_PREFIX), expiringItems) if editedItems: ItemTobeSendTitle = editedItems.pop(0) if not ItemTobeSendTitle: logger.info('No Edited New Item') self.ItemTobeSend = None self.ItemTobeSendTitle = None return None self.ItemTobeSend = rs.hgetall(ItemTobeSendTitle) self.ItemTobeSendTitle = ItemTobeSendTitle
def getConfig(self): confdict = rs.hgetall(MoePadConfKey) for key in confdict: setattr(self, key, confdict[key])
def getWeiboApi(self): AuthInfo = WeiboAuthInfoRedis("original") token = rs.hgetall("WeiboAuth" + "original") self.weiboApi = WeiboApi(MPConf.SinaAppKey, MPConf.SinaAppSecret, MPConf.Domain + '/sinacallback', token['access_token'], token['expires_in'])