【发布时间】:2014-06-20 15:02:07
【问题描述】:
我正在谷歌应用引擎中构建一个应用程序。我正在存储一种具有多个属性的实体,其中一个是日期和时间属性。
我需要通过与当前日期和时间进行比较来检查该日期和时间属性是否超过或“过期”。
我不喜欢轮询。
我正在考虑编写一个守护程序,它不断扫描所有实体以检查它是否已过期。
关键是,如果实体之一“过期”,我需要发送推送通知。
我对这个概念可能完全错误。请提出更好的方法。
【问题讨论】:
-
听起来很昂贵.....为什么不只保存“自纪元以来的时间”和 GQL 搜索值大于/小于会使它失效的值的模型,例如SELECT * FROM Contact_Info_Entry where AGE > 12345
-
不是扫描整个数据库,有没有更好的方法来了解特定实体何时“过期”?
-
索引“date_expire”或“age”属性(无论您选择使用什么),并为您的查询添加过滤器。数据存储区将仅返回与此查询匹配的实体。效率很高。
-
好吧,您可以创建一个实体,同时创建一个任务,该任务定时在实体到期时执行,然后使实体“到期”。
-
传入查询与“扫描整个数据库”不同。嗯,是的,但它不会像加载然后依次查看每条记录那样花费你
标签: python google-app-engine google-cloud-datastore nosql