为python-rom对象添加过期功能

时间:2015-07-28 19:24:23

标签: python redis

我正在使用flask和redis。我使用rom redis orm(http://pythonhosted.org/rom/)来管理一些稍微复杂的数据结构。我想添加设置对象以设置到期时间的功能。

基于https://github.com/josiahcarlson/rom/issues/40https://github.com/josiahcarlson/rom/pull/47

我有一个rom模型:

class A(rom.Model):
    url = rom.String(required=True, unique=True)()
    t = rom.String()
    delete_at = rom.Float(index=True)
    created_at = rom.Float(default=time.time, index=True)

我可以实例化并保存:

a_object = A(url=u, delete_at =time.time+7200) # 2 hour expiry
try:
    ad_object.save()
except Exception,e:
    print str(e)

我有一个每小时执行一次的cronjob,因此我想做类似的事情:

 delete_list = A.get_by((time.time()-delete_at>0)) # pseudocode.

显然这是不正确的,但如果我可以将其列入列表,我可以删除它们。如何使用rom ORM表达上述伪代码?

1 个答案:

答案 0 :(得分:0)

我通过电子邮件发送了包装开发人员Josiah。他的回答是:

A = raw_input("Enter a word to be transcribed to A")
#user types "Woof"
check = raw_input("Enter your secret code")
if check == A:
    print "A"
    #will print out "A"