2009-10-11 24 views
0

我试图计划如何在我的新应用程序中构建一些功能,并且不确定是否存在“正确”方式来实现我正在寻找。如何在没有触发函数的情况下测试应用程序,数据库和日期更改

有一些事情我想用我的网站完成,比如某个dateTime与其他日期时间相匹配,然后发送电子邮件。或者,例如,考虑一下stackoverflow上的徽章,你认为它是否可以通过一些大的循环测试来获取新徽章的资格,或者是否存在一些我缺少的设计模式。

这是我现在的计划。

  1. 设置一个函数,每隔1-10分钟会触发一次,这将检查数据库是否符合任何规则,因此需要采取措施。

  2. 在与之相关的任何记录,或者日志添加这些检查对每个用户的基础上,当用户查看。

如果任何人都可以阐明如何例如易趣会处理它的任何光线电子邮件通知,我认为这会指向正确的方向。

感谢您的任何帮助。即使是我所寻找的名字也会很有帮助。

回答

1

你所做的事实的确是通常在“网络应用程序”之外完成的。您可以将其称为“批处理作业”或“计划任务”,或任何您喜欢的。 的方式它通常通过使用cron至少在类Unix系统上完成。例如,Cron使用一个简单的配置文件来说,“每十分钟运行一次清理用户数据库的shell脚本”,或者“在午夜抽​​真空数据库”。如果你使用的是Windows服务器,那么我不知道它通常在那里做什么。

+0

对,对我来说听起来不错,我以前用过crons。我想知道的是,有没有更好的方法来做到这一点,这并不意味着一直运行批处理作业。对于电子邮件通知等,我希望尽快发送它们,但希望不要每分钟都运行整个批处理。 – 2009-10-11 19:36:19

+0

确实如此。这通常是通过使用消息队列完成的。 – 2009-10-11 21:06:36

+0

我正在考虑创建一个工作队列,所以应用程序必须在做事情时被捆绑起来,或者可以有条不紊地发送邮件。 – 2009-10-12 10:10:49

0

可能有一个lib可用于此。如果你正在使用Java Quartz可能适合你:http://www.quartz-scheduler.org/

我希望有类似的东西可用于其他主流语言。

相关问题