Php 我应该学习什么语言来执行web应用程序的定期计划任务

Php 我应该学习什么语言来执行web应用程序的定期计划任务,php,web-applications,Php,Web Applications,我想我想要的: 一种在服务器上持续运行的语言,用于运行重复事件,能够响应html请求并为其提供定制的数据。计划的事件将动态计时并频繁发生。事件几乎总是数据库信息的更改,结果将通过web应用程序查看 为什么我认为PHP不适合我: 由于我只能在用户请求页面或通过固定的严格计划时运行PHP,因此我必须查看请求时间与上次运行的时间,并填补本应出现的空白。例如,如果我需要每隔15分钟发生一次,并且几个小时没有运行PHP脚本;然后,它将不得不检查有多少人错过了追赶,以模拟我认为当时应该发生的事情 真实世界的

我想我想要的:

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

为什么我认为PHP不适合我:

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

真实世界的示例和细节:

我将在这一节中指出一个非常愚蠢的例子,因为它在现实世界中的概念与我试图解释的非常接近。网络游戏neopets的商店经常用随机生成的商品重新进货。如果在每15分钟重新进货期间,商店里的人比较多,那么它会重新进货,但旧物品会保留下来

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

我应该如何重新创建此店铺,但需要满足以下要求:

  • 重新进货时间是从发生的其他事件中动态派生出来的(设置时间,因为另一个项目可能会卖出),因此时间表不是一个严格的“每四分之一小时”,我可以通过预定的PHP脚本来运行它。相反,可能正好是下午5:46:23
  • “重新进货”来源于其他特定于时间的信息。我无法模拟新客户检查页面时应该发生的所有重新进货
我该往哪个方向走?

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

我怀疑我希望在服务器上有一个持久运行的程序来执行这些任务,并将结果放入数据库中,然后通过php访问并交付给最终用户。我只是刚刚开始,我知道我很可能会做出一个非常愚蠢的假设。有什么东西是持久化程序和PHP结合在一起,我应该学习的吗


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

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

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


您不是在寻找一种可以持久运行的语言,而是一种系统,例如,ThisJobQueue将完成您的主要计划工作。您可以使用PHP从该队列中获取消息、触发新作业和检查正在运行的作业等。此外,还可以创建人们将在PHP中进行交互的网站。

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

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


您不是在寻找一种可以持久运行的语言,而是一种系统,例如,ThisJobQueue将完成您的主要计划工作。您可以使用PHP从该队列中获取消息、触发新作业和检查正在运行的作业等。此外,还可以构建人们将在PHP中进行交互的网站。

从逻辑方面来说,您可以始终使用CRON并调用PHP文件来完成脏活。
(我的意思是,使用PHP“system”函数在CRON本身中执行重新调度命令)

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

我认为常见的观点是,PHP确实不是创建持久性程序(又称服务,或*nix世界中的“守护进程”)的最佳选择。在这个主题上有很多很好的讨论:相关:问题标题与实际意图不符。我认为普遍的观点是PHP确实不是创建持久性程序(在*nix世界中称为服务或“守护进程”)的最佳选择。关于这个话题有很多很好的讨论:相关:问题的标题与实际意图不符。