的Rails替代的Ruby过滤器/观察家有一个很好的组过滤器(before_validation,before_create,after_save的,等等),以及观察员的支持,但我面对的其中依靠的情况过滤器或观察者的计算成本太高。我需要一个替代品。需要on Rails项目
的问题:我登录的Web服务器命中大量的页面。我需要的是一个触发器,当给定的页面被查看超过X次时,它将执行一个动作(比如发送一封电子邮件)。由于大量的页面和命中,使用过滤器或观察者将导致大量浪费时间,因为在99%的时间内,它测试的条件将是错误的。电子邮件不是必须立即发送(即5-10分钟的延迟是可以接受的)。
我正在考虑的是实现某种过程,每隔5分钟左右扫描一次数据库,并检查哪些页面被命中超过X次,将该状态记录在新的数据库表中,然后发送出相应的电子邮件。它不完美,但它会工作。
其他人有更好的主意吗?
我不想发布这个作为答案,因为我没有彻底研究过它,但谷歌搜索'rails cron'进入你的问题域?如果是这样,我敢打赌你的问题可能更具体。 – 2009-05-22 22:08:39
我知道!只有当它是真的时才测试条件,这样可以节省99%的处理时间。 :D – 2009-05-22 22:09:39