我应该学习哪种语言来执行Web应用程序的重复计划任务

时间:2011-08-10 08:06:20

标签: php web-applications

我想要

一种语言,它将持续在服务器上运行,以运行能够响应html请求并为其提供定制数据的重复事件。预定事件将动态定时并经常发生。事件几乎总是对数据库信息进行更改,结果将通过Web应用程序进行查看。

为什么我认为 PHP对我不起作用:

由于我只能在用户请求页面时运行我的PHP,或者通过固定的严格计划运行,因此我必须查看请求时间与上次运行的时间并填补应该具有的空白发生了。例如,如果我需要每15分钟发生一次,并且没有PHP脚本运行几个小时;然后它将不得不检查有多少人错过了跑步追赶来模拟我认为应该发生的事情。

真实世界的例子和细节:

我将在本节中指出一个非常愚蠢的例子,因为它实际上非常接近我想要解释的现实世界概念。在线游戏neopets有商店,经常随机生成货物进行补充。如果商店在每15分钟的重新进货期间更加空旷,那么它会重新进货,但旧货仍然存在。

这不是我想要的,但我认识到它的基本概念非常相似。我将推断这个系统的一些奇怪的补充,因为我觉得它比我实际做的更有意义。

我应该如何重建这家商店,但要满足以下要求:

  • 重新加载时间是从发生的其他事件动态得出的(设置时间可能是另一个项目出售),因此,我可以通过计划的PHP脚本运行时间表并不是一个严格的“每四分之一小时”。相反,它可能正好在下午5:46:23
  • “重新进货”源自其他时间特定信息。我无法模拟新客户检查页面后应该发生的所有库存。

我应该走哪条路?

我不知道我在说什么,所以假设以下是狗屎:

我怀疑我想要在服务器上执行这些任务的持久运行程序,并将结果放入数据库,然后通过php访问并将其传递给最终用户。我真的刚刚开始,我知道我很可能做出一个非常愚蠢的假设。有什么东西既是持久性程序又是PHP,我应该学习什么?

我这样做是为了一个爱好,只是想了解更多,所以我可以为自己制作更多有趣的玩具。

2 个答案:

答案 0 :(得分:1)

我认为你混淆了两个问题:

  

一种在服务器上持续运行以运行能够响应html请求并为其提供定制数据的重复事件的语言

您不是在寻找持续运行的语言,而是对于系统,例如: a JobQueue (something like Gearman).此JobQueue将完成您的主要预定作品。除了构建人们将在PHP中与之交互的网站之外,您还可以使用PHP从该队列中获取消息,触发新作业并检查正在运行的作业等。

答案 1 :(得分:0)

对于逻辑方面,您总是可以使用CRON并调用PHP文件来执行脏工作。 (我的意思是,使用PHP“系统”函数Documented Here在CRON中执行重新调度命令)