javascript setInterval函数和cronjob

javascript setInterval函数和cronjob,javascript,setinterval,Javascript,Setinterval,目标是在区间函数中运行代码 setInterval(function {/* do something */}, 50000) 当cron作业每15分钟运行一次以触发test.php 在我的代码中,我有一个setInterval函数,它以50秒的间隔运行代码。但是,如果我在本地主机服务器上手动运行代码(而不是通过cron作业运行),并在文件位置localhost/test.php的间隔时间(50秒)之前关闭浏览器窗口,则间隔内的代码函数将不会运行 但是,如果浏览器窗口打开,则间隔内的代码将运

目标是在区间函数中运行代码

setInterval(function {/* do something */}, 50000) 
当cron作业每15分钟运行一次以触发
test.php

在我的代码中,我有一个
setInterval
函数,它以
50秒的间隔运行代码。但是,如果我在本地主机服务器上手动运行代码(而不是通过cron作业运行),并在文件位置
localhost/test.php
的间隔时间(
50秒)之前关闭浏览器窗口,则间隔内的代码函数将不会运行


但是,如果浏览器窗口打开,则间隔内的代码将运行。我想知道这是否是因为localhost server,如果我通过在实时服务器上设置
cron作业
来触发代码,那么即使在实时服务器上没有浏览器窗口可以在cron作业运行时打开或关闭,间隔内的代码功能也会运行。这是真的还是我遗漏了什么?

如果我理解正确,您正试图使用PHP通过CRON运行JavaScript的
setInterval

setInterval
是一个JavaScript函数,通常通过浏览器运行*
浏览器接收PHP脚本的输出,然后运行附带的JavaScript。
一旦生成间隔的浏览器窗口/选项卡关闭,间隔将被销毁

CRON不是一个浏览器,它根本不关心它运行的脚本的输出是什么。
它只是碰巧在输出中有一些JavaScript,但没有其他的事情发生

*如果您想在服务器端运行JavaScript,可能需要阅读Node.js


..另外,setInterval不是jQuery函数-它是本机JavaScript。

制作一个cron作业,它可以像每分钟一样频繁执行一些php。
php可以检查它是否是计划时间。如果是这样,请执行您的任务。如果没有,退出并等待cron在另一分钟内启动,以重新检查计划。每分钟检查一次日期/时间所造成的服务器负载量将是最小的。

您是否希望启动设置间隔的浏览器窗口关闭后,设置间隔会继续运行?另外,作为补充说明,setInterval不是jQuery。您不能从cron运行客户端javascript。setinterval的javascript是否在node.js中运行?@Taplar。否我将添加一个
clearinterval
来停止它@布莱恩·格拉兹。不,它没有在node.js中运行。它在jquery内部运行,我不明白你为什么一直说jquery。浏览器关闭时,浏览器中启动的任何setInterval都将终止。jQuery是一个库,而不是一种语言,
setInterval
不是该库的一部分。它内置在JavaScript中。有没有解决方案可以做到这一点而不使用Node.js?我的目标是在计划任务的确切时间运行任务(代码),我希望每15分钟(而不是每秒钟或每分钟)运行一次cron作业以节省服务器cpu(我可能错误地认为每秒运行一次cron作业可能会降低服务器速度!)。我想我可以计算cron作业和schedule tast之间的差异,并运行一个
setInterval函数,该函数在它们之间的差异时间运行。请告诉我是否有更好更简单的使用php的方法?您需要找到一种方法来实现javascript使用php的功能。这应该是可能的(不管是什么),但很难盲目猜测。