Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 制作一个在一段时间后执行一定数量的应用程序_Php_Jquery_Automation_Server Side - Fatal编程技术网

Php 制作一个在一段时间后执行一定数量的应用程序

Php 制作一个在一段时间后执行一定数量的应用程序,php,jquery,automation,server-side,Php,Jquery,Automation,Server Side,问题 使用PHP和Jquery,在给定的时间后,比如说1个月(即使用户关闭了浏览器等),您将如何执行代码 场景 我想构建一个应用程序,在用户指定的时间内完成一些事情,“有点像hootsuite”。但我无法理解它是如何工作的 我知道你可以使用node.js(我很难理解并在我的任何laravel项目中实现它…),但即使这样,如果1000人在处理其他用户请求的同时,整整一个月甚至一年都在服务器上等待执行某些任务,服务器是否会充满压力 我环顾了一下四周,发现了CRON jobs,但这听起来不像我要找的!

问题

使用PHP和Jquery,在给定的时间后,比如说1个月(即使用户关闭了浏览器等),您将如何执行代码

场景

我想构建一个应用程序,在用户指定的时间内完成一些事情,“有点像hootsuite”。但我无法理解它是如何工作的

我知道你可以使用node.js(我很难理解并在我的任何laravel项目中实现它…),但即使这样,如果1000人在处理其他用户请求的同时,整整一个月甚至一年都在服务器上等待执行某些任务,服务器是否会充满压力


我环顾了一下四周,发现了CRON jobs,但这听起来不像我要找的!我不确定,如果有人能向我解释一下他们认为我可以怎么做,我将不胜感激

基本上你要找的是一个日程安排系统。UNIX cron工具之所以出现在搜索中,是因为它是一种调度工具;它允许UNIX用户将任务安排在特定时间执行。其他操作系统也有任务调度器

调度者 调度器的主要实现策略是某种轮询机制,即一个软件组件,它定期检查是否有任何计划任务现在应该执行,如果有,则执行它们

实施战略 为了实现类似的功能,您需要一种方法来存储有关计划任务的信息(例如,这些任务应该何时发生、属于谁、应该做什么)。例如,您可以使用数据库管理系统或磁盘上的文件

您还需要一个组件来进行轮询。这可能是一个守护进程(即始终在后台运行的进程),它包含一个睡眠(或等待或超时)调用,允许它每隔一段时间检查计划的任务,而不是不断地检查(因此很可能会占用所有CPU周期!)。或者它可以是一个程序(如果您愿意,可以使用PHP),它本身由cron在主机系统上运行,比如说,每五分钟检查一次计划任务,然后在中执行,可能在单独的进程中执行。如果要使用cron,有许多PHP包装器可以提供帮助,例如

服务

但是,您可以考虑使用现有的服务,而不是自己实现这一切。似乎有几种选择,包括至少一种免费(限额内)服务:。

请澄清您的问题?为什么CRON不合适?你说“那有什么用”是什么意思?而且jQuery不是这样的……如果您的用户在一个月内安排工作,那么调度粒度可能会很粗糙——比如每5分钟一次。因此,可以将请求放在
sqlite
数据库中,在
字段中有
运行时间,让服务器每5分钟读取一次并执行作业。它可以在重新启动后存活下来并进行备份,并且在服务器“死亡”的情况下可能会重新装载到新服务器上。@MarkSetchell服务器如何读取运行在
字段的
时间?这是使用php还是其他语言?应该是SQL,您可以从php调用它,就像从TimeToRun