看看mysql event 能不能达到你的要求.

解决方案 »

  1.   

    1.sleep,不知道可行不?
    2.基于第一点,sleep(n)的进程并没有放弃cpu? 所以,如果请求够多,会严重影响服务器性能,不可取.
     提交数据到定时的php程序时,此程序php可调用system("crontab ... php setTime.php ......"),就是设定到一定的系统时钟就去调用php setTime.php ....这个命令,这个命命就是去执行setTime.php程序,具体的调度交给操作系统,crontab这个命令本人也不清楚,个人电脑上没linux环境,自已去查.
    3.可能可以用socket,不过数据要通过socket的方式传递,自已分析(这个难度够大的),然后根据定时时间,构造hash队列(socket请求队列),根据系统tick取相应hash队列,具体参见linux源码里的定时时钟....
      流程:用户请求->服务器端伪socket请求->服务器进程kserver接受,分析数据,挂入相应队列->根据tick取相应队列->分析数据,并执行sql....总之,这个难度挺大的.
    (队列也可以也写线性链表,按定时时间从小到大排列,当然这个只用于小数量组别的,试想,数万级别以上个不同的定时请定,这个队列也太恐惧了,并且操作(如查找,插入)也不方便,还是hash吧.)
    本楼愚见,仅供参考.
      

  2.   

    如果你是服务器管理者,不妨结合shell来调用php脚本,具体资料网络上很多
    当然也可以直接写shell脚本执行