PHP定时任务已使用测试,现在已经趋于稳定,效果良好。本功能需要配合监控宝,360监控等使用。创建监控WEB项目,指定到任务主文件URL!如果没有Memcache可以创建text文件写入time替代!不过执行时没有memcache准确!可更改config.php文件内的任务开启关闭变量,对任务进行开启,关闭操作!
1.task.php(任务主文件)
<?phpignore_user_abort(); //关掉浏览器,PHP脚本也可以继续执行.set_time_limit(0); // 通过set_time_limit(0)可以让程序无限制的执行下去$interval = 15; // 每隔*秒运行$temp_key = 0;do {$time = time();require 'config.php';$mem = new Memcache();$mem->connect($Memcache_server, $Memcache_port);if ($is_send) {$get_time = $mem->get('tem_data');} else {$get_time = $time + 86400;exit();}if ($get_time == $time) {$mem->close();exit();} else if ($get_time > $time - $interval) {$mem->close();} else if ($temp_key == 0) {$temp_key = 1;@file_get_contents('http://******/*****.php');$mem->set('tem_data', $time, MEMCACHE_COMPRESSED, $Memcache_date);$mem->close();sleep(mt_rand(1, 3));$temp_key = 0;}else{$mem->close();exit();}//这里是你要执行的代码sleep($interval); // 等待*秒钟} while (true);?>
2.config.php(配置文件)
<?php$Memcache_server = '127.0.0.1';$Memcache_port = 11211;$Memcache_date = 86400;//return $is_send = false; //关闭定时任务return $is_send = true; //开启定时任务?>
3.执行效果记录
参考自: