1、直接使用PHP来完成定时

<?php
ignore_user_abort(false);//当用户关闭页面时服务停止
set_time_limit(0); //设置执行时间,单位是秒。0表示不限制。
date_default_timezone_set('Asia/Shanghai');//设置时区 while(TRUE)
{
//这里是需要定时执行的任务
sleep($interval);//暂停时间(单位为秒)
}
?>

2.Linux/Unix的定时任务 定时直接可以用cron来执行一个php脚本 或者其他语言的脚本[你要有足够的系统权限]

比如每隔5分钟执行下 /root/bin目录下的test.php脚本

*/ * * * * php /root/bin/test.php
<?php
ignore_user_abort(true);//设置与客户机断开是否会终止脚本的执行。
  set_time_limit(0); //设置脚本超时时间,为0时不受时间限制
  ob_end_clean();//清空缓存
  ob_start();//开始缓冲数据
  while(1){
   echo str_repeat(" ",1024);//写满IE有默认的1k buffer
   ob_flush();//将缓存中的数据压入队列
   flush();//输出缓存队列中的数据
   echo "now time is ".date('h:i:s') . "<br/>";//打印数据,其实是先将数据存入了缓存中
   usleep(1000000);//延迟一秒(暂停一秒)
  }
?>

如果要求实现连续、均匀的输出效果(如输出时间),则应设置缓存,即使用图a对应的方法;如果对输出显示的连续性要求不高,或者时间间隔比较大(如定期自动备份,定时加密控制等),则使用图b对应的方法即可。

   为方便理解,提供相关函数作用说明如下:
  ①ignore_user_abort(bool):设置与客户机断开是否会终止脚本的执行。
  ②set_time_limit(int seconds)设置允许脚本运行的时间,单位为秒。参数值为0时不受限制。
  ③ob_end_clean():清除服务端缓存的数据
  ④ob_start():开启一个缓存(可嵌套)
   ⑤ob_flush():将缓存中的数据压入队列
  ⑥flush():输出缓存队列中的数据
  ⑦usleep(int m-seconds):以指定的微秒数延缓程序的执行。
  注:
  flush()和ob_flush()的正确顺序应是,先ob_flush()再flush(),不可弄混。
  usleep()函数可替换成sleep()函数,不同之处在于sleep()的参数是秒。

FROM:http://blog.tianya.cn/blogger/post_read.asp?BlogID=4315093&PostID=42870088

          http://blog.uacool.com/?p=642

          http://dev.cobub.com/zh/docs/cobub-razor/auto-archiving/

用PHP实现定时器功能的更多相关文章

  1. Linux使用一个定时器实现设置任意数量定时器功能【转】

    转自:https://www.jb51.net/article/120748.htm 为什么需要这个功能,因为大多数计算机软件时钟系统通常只能有一个时钟触发一次中断.当运行多个任务时,我们会想要多个定 ...

  2. laravel实现定时器功能

    前记 laravel实现定时器功能有两种方法: 1. 使用 command . 2.   在闭包函数内写实现的方法. 在这里我比较推荐第一种方法,因为第一种方法把具体的实现抽离出来了,看起来简单且富有 ...

  3. JAVA实现定时器功能

    在接口开发时,有一种开发模式叫定时器模式,可以理解为每经过一段预设的时间就会执行一次事件,而在我们的工作中,这个事件所实现的功能一般是将两个系统的数据信息进行同步,这样就实现了两个系统通过接口进行对接 ...

  4. 定时器_在.net core3.0 webapi中添加自定义定时器功能

    前言:想在.net framework环境使用自定义定时器的话,参考我的另一篇文章:https://www.cnblogs.com/lxhbky/p/10242839.html 想在.net core ...

  5. TIM4定时器功能设置

    一.初始化过程 /*********************************************************************** 利用TIM4定时器作为计时,每个0.1 ...

  6. 不用写Windows服务实现定时器功能(FluentScheduler )

    MacBook Pro 只有四个 USB Type-C 接口是否错了? 一项新技术的诞生总会对已存在的事物造成冲击或影响,如果大家都害怕冲击与影响,那这个世界永远像现在不变就行了,大家都好好的,待在自 ...

  7. Android定时器功能实现方法

    在Android开发中,定时器一般有以下3种实现方法: 1.采用Handler与线程的sleep(long)方法 2.采用Handler的postDelayed(Runnable, long)方法 3 ...

  8. Delphi的DLL里如何实现定时器功能?

    一,首先引入“mmsystem”单元. 二,启动定时器: var MMTimerID: Integer; // 定时器ID MMTimerID := timeSetEvent(1000, 0, @Ti ...

  9. 【swoole】如果使用好定时器功能

    swoole中提供了一个定期器的用法 $server->tick(1000, function() use ($server, $fd) { $server->send($fd, &quo ...

  10. MFC的DLL中实现定时器功能

    方法一:创建一个线程, 反复读系统时间不就可以了? 如果定时要求不严,用Sleep就可以了.DWORD WINAPI TimerThread(LPVOID pamaram) { UINT oldTic ...

随机推荐

  1. MyEclipse------带进度条的输入流

    other.jsp <%@ page language="java" import="java.util.*" pageEncoding="UT ...

  2. background总结

    1. background-position background-position的百分比属性规则是:图片本身(x%,y%)的那个点,与背景区域的(x%,y%)的那个点重合. 具体可参考: http ...

  3. afasf

    http://www.cnblogs.com/ttzhang/archive/2008/11/02/1324601.html project server 2007 sn :W2JJW-4KYDP-2 ...

  4. jquery uploadify 使用

    /*进度条框*/ .shangchuantishikuang { border: 7px solid #74A5BF; background-color: white; font-size: 14px ...

  5. mingw32-g++.exe: *: No such file or directory错误解决方法

    初次使用CodeBlocks,好不容易把环境配好, 编译没有错误了,但是程序并不生成exe,提示以下问题: mingw32-g++.exe: /W3: No such file or director ...

  6. R语言的前世今生(转)

    最近因病休养在家,另外也算是正式的离开Snack Studio.终于有了大把可以自由支配的时间.可以自主的安排.最近闲暇的时间总算是恶补了不少前段时间行业没有时间关注的新事物.看着行业里引领潮流的东西 ...

  7. C语言异常处理和连接数据库

    #include <stdio.h> #include <setjmp.h> jmp_buf j; void Exception(void); double diva(doub ...

  8. CSS-3 Animation 的使用

    在开始介绍Animation之前我们有必要先来了解一个特殊的东西,那就是"Keyframes",我们把他叫做"关键帧",玩过flash的朋友可能对这个东西并不会 ...

  9. 通过Spring @PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作

    关于在spring  容器初始化 bean 和销毁前所做的操作定义方式有三种: 第一种:通过@PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作 第二 ...

  10. =============Python安装与使用================

    用文本编辑器写Python程序,然后保存为后缀为.py的文件,就可以用Python直接运行这个程序了. Python的交互模式和直接运行.py文件有什么区别呢? 直接输入python进入交互模式,相当 ...