一个有趣的难题。这是我想要做的:
我有一个在 Heroku 上运行的 Pyramid (python 2.7.2) 网站,它将通知推送给我的 iPhone 应用程序用户。每天,每个用户都需要在上午 10:00 到晚上 10:00 之间随机生成的时间向他们发送推送通知(显然还需要知道用户的时区)。
我目前的计划如下:使用持久的工作进程每 1 分钟触发一次函数。每分钟,它将调用一个函数(在不同的线程上以免中断计时器),该函数将做两件事:
检查每个时区是否是晚上 11:00(每天发生 24 次,每个时区一次)。如果为真,它将调用一个函数,该函数遍历相应时区中的每个用户并生成他们第二天的随机时间,然后将其存储在 Mongo 数据库中。
在每一分钟,工作人员还将循环访问用户并检查他们是否在那时收到通知。如果到期,则发送通知。
我的问题是:有没有更好的方法不需要每天预先生成大量随机日期时间列表?