目标是在区间函数
中运行代码test.php
当cron-job每15分钟运行一次以触发setInterval
在我的代码中,我有一个50 seconds
函数,其中以间隔时间50 seconds
运行代码。但是,当我在本地主机服务器上手动运行我的代码(而不是通过cron-job运行它)并在我的文件位置localhost/test.php
的间隔时间(cron-job
)之前关闭浏览器窗口时,那里面的代码间隔功能不会运行!
但是,如果浏览器窗口打开,则间隔内的代码会运行。我想知道这是否是因为localhost服务器,如果我通过在实时服务器上设置import Vue from 'vue'
import VueRouter from 'vue-router'
import VueResource from 'vue-resource';
Vue.config.productionTip = false;
Vue.use(VueRouter);
Vue.use(VueResource);
// define the router here
const router = new VueRouter({
routes: [
{
path: '/',
component: Home,
meta: {page_title: 'Home'}
},
// ...
]
});
Vue.mixin({
methods: {
get_req: function(url) {
Vue.http.get(url, {
before(request) {
// before_callback(request);
}
}).then(response => {
// success_callback(response);
}, response => {
if(response.status == 404) {
// Use the router variable you just defined
router.push({name: '404'});
}
}).then(response => {
// always_callback(response);
});
}
}
});
new Vue({
el: '#app',
template: '<App/>',
components: { App },
router: router
});
来触发代码,那么即使实时服务器上没有浏览器窗口,也会运行区间函数内的代码当cron-job运行时打开或关闭。是真的还是我错过了什么?
答案 0 :(得分:0)
如果我理解正确,您正尝试使用PHP通过CRON运行JavaScript setInterval
。
setInterval
是一个JavaScript函数,通常通过浏览器运行*
浏览器接收PHP脚本的输出,然后运行随附的JavaScript
一旦产生间隔的浏览器窗口/选项卡关闭,间隔就会被破坏。
CRON,不是一个浏览器,根本不关心它运行的脚本的输出。
只是输出中有一些JavaScript,但没有其他任何事情发生。< / p>
*如果要在服务器端运行JavaScript,可能需要阅读有关Node.js的信息
.. setInterval也不是jQuery函数 - 它是原生JavaScript。
答案 1 :(得分:0)
创建一个经常执行某些php的cron作业,就像每分钟一样。 php可以检查它是否是计划时间。如果是,请执行您的任务。如果没有,请退出并等到cron在另一分钟开始重新检查时间表。通过检查一次/分钟的日期/时间导致的服务器负载量将是最小的。