PHP执行定时任务

1.当PHP像文件写入信息的时候

<?php

for ($i=0; $i < 10; $i++) {

$str="我是第".$i."条"."\r\n";

file_put_contents("a.txt",$str,8);

}
这样就可以换行,linux使用"\n"就可以,windows"\r\n".

我是第0条

我是第1条

我是第2条

我是第3条

我是第4条

我是第5条

我是第6条

我是第7条

我是第8条

我是第9条

<?php
    ignore_user_abort();//关闭浏览器后,继续执行php代码
    set_time_limit(0);//程序执行时间无限制
    $sleep_time = 5;//多长时间执行一次

//$switch为include 'jsonout.php'的返回值

//return 1;//1执行,0不执行
    $switch = include 'jsonout.php';
    $i = 1;
    while($switch){

//这里是想要循环执行的语句
        $t = '我是第';
        $r = '条';
        $msg=$t.$i.$r."\r\n";
            file_put_contents("a.txt",$msg,8);//写入信息
        sleep($sleep_time);//等待时间,进行下一次操作。
        $i++;
    }
    exit();
 ?>

原文链接:http://blog.csdn.net/leafgw/article/details/50800153

现在对用到的知识进行解析:

Uslepp()是推延执行   sleep()暂停

1.int ignore_user_abort ([ string $value ] )

ignore_user_abort只是忽略用户关闭操作,如果设置为 true,则忽略与用户的断开,如果设置为 false,会导致脚本停止运行。

一般都是用ignore_user_abort配合sleep来完成自动计划任务,但是这些都没有操作系统自带的计划任务来得强

它的状态,只要执行一句ignore_user_abort();这个就能在页面上看到它是返回0或1!

2.set_time_limit — 设置脚本最大执行时间

设置允许脚本运行的时间,单位为秒。如果超过了此设置,脚本返回一个致命的错误。默认值为30秒,最大的执行时间,单位为秒。如果设置为0(零),没有时间方面的限制。

3.ob_flush()和flush()的区别

“ob_flush()和flush()的区别。前者是把数据从PHP的缓冲中释放出来,后者是把不在缓冲中的或者说是被释放出来的数据发送到浏览器。所以当缓冲存在的时候,我们必须ob_flush()和flush()同时使用。正确使用的顺序是:先用ob_flush(),后用flush()

str_repeat — 重复一个字符串

说明

string str_repeat ( string $input , int $multiplier )

返回 input 重复 multiplier 次后的结果。

<?php
  echo str_repeat('哈哈哈哈哈哈' ,1000);
  for($i=0;$i<3;$i++) {
    ob_flush();
    flush();
    sleep(3);
  }
?> 

PHP执行定时任务的更多相关文章

  1. 使用Timer和ScheduledThreadPoolExecutor执行定时任务

    Java使用Timer和ScheduledThreadPoolExecutor执行定时任务 定时任务是在指定时间执行程序,或周期性执行计划任务.Java中实现定时任务的方法有很多,主要JDK自带的一些 ...

  2. java中服务器启动时,执行定时任务

    package com.ripsoft.util; import java.util.Calendar; import java.util.Timer; import javax.servlet.Se ...

  3. Jenkins入门之执行定时任务

    通过前面我们讲解了如何通过Jenkins执行windows command,powershell脚本,此时我们便可以开始完成一些简单任务了,然而可能看到我们都是通过手动按下Build Now按钮来执行 ...

  4. AspNet MVC中使用Hangfire执行定时任务

    Hangfire在Aspnet中执行定时任务: 第一步: NuGet中加入Hangfire包 第二步: 添加Owin的自启动 第三步.Hangfire的后台控制仪表盘默认情况下只能本地访问,外网访问需 ...

  5. .NET Core中使用IHostedService结合队列执行定时任务

    最近遇到了这样的场景:每隔一段时间,需要在后台使用队列对一批数据进行业务处理. Quartz.NET是一种选择,在 .NET Core中,可以使用IHostedService执行后台定时任务.在本篇中 ...

  6. 在ASP.NET MVC4中使用Quartz.NET执行定时任务

    本篇在ASP.NET MVC下实践使用Quartz.NET执行定时任务. 首先通过NuGet安装Quartz.NET. 使用Quartz.NET的大致思路是:1.实现IJob接口,定义具体要做的事情2 ...

  7. ubuntu 下执行定时任务

    Window shell文件在linux系统下执行不了的解决办法 一些人喜欢用vim来写linux shell script, 但是, 有的人喜欢在Windows下用一些方便的编辑器(比如鼎鼎大名的N ...

  8. MVC中使用Hangfire执行定时任务

    需求描述 项目中有一个通知公告的功能,在后台管理员添加公告后需要推送消息给所有注册用户,让其查看消息.消息推送移动端采用极光推送,但是消息在何时发送是个问题,比如说有一个重要的会议通知,可能希望在会议 ...

  9. 使用Quartz.net来执行定时任务

    Quartz.net使用方法:http://www.cnblogs.com/lizichao1991/p/5707604.html 最近,项目中需要执行一个计划任务,组长就让我了解一下Quartz.n ...

随机推荐

  1. 通过组策略实现Firefox自动以当前域账号登录MOSS站点---(原创)

    忘忧草原创,转发请保留本人的大名,谢谢,如果需要文档的请找我索取 前言 通过组策略实现基于AD的windows验证的sharepoint站点在火狐下自动以当前域账号登录. 操作步骤-在服务器添加策略工 ...

  2. mysql 时间函数转换

    1 NOW() //当前时间 2 SYSDATE() //当前时间 3 CURRENT_TIMESTAMP 4 以'YYYY-MM-DD HH:MM:SS'或YYYYMMDDHHMMSS格式返回当前的 ...

  3. Android 调用已安装市场,进行软件评分的功能实现

    Uri uri = Uri.parse("market://details?id="+getPackageName()); Intent intent = new Intent(I ...

  4. iOS自动布局进阶用法

    本文主要介绍几个我遇到并总结的相对高级的用法(当然啦牛人会觉得这也不算什么). 简单的storyboard中上下左右约束,固定宽高啥的用法在这里就不做赘述了. autolayout自动布局是iOS6以 ...

  5. Android jni简便开发流程

    <Android jni helloworld>中介绍了开发jni helloworld的步骤,本文将介绍jni简便开发流程 ① 写java代码 native 声明本地方法 ② 添加本地支 ...

  6. objective-c系列-NSMutableString

    ********************************************** NSMutableString为NSString的子类,除了父类的方法,NSMutableStirng还有 ...

  7. 【代码笔记】iOS-UIScrollerView里有两个tableView

    一,效果图. 二,工程图. 三,代码. RootViewController.h #import <UIKit/UIKit.h> @interface RootViewController ...

  8. 安卓开发之UIwebview

    web view在安卓开发中是比较常见的UI,像微信的新闻模块就采用了这个,他的作用越来越广,下面我把以前做的贴了出来,如果有更好的办法,希望大神不吝赐教哈,嘿嘿,纯代码来了: java代码 publ ...

  9. Jexus-5.6.3使用详解、Jexus Web Server配置

    一.Jexus Web Server配置   在 jexus 的工作文件夹中(一般是“/usr/jexus”)有一个基本的配置文件,文件名是“jws.conf”. jws.conf 中至少有 Site ...

  10. C#中的Lambda表达式和表达式树

    在C# 2.0中,通过方法组转换和匿名方法,使委托的实现得到了极大的简化.但是,匿名方法仍然有些臃肿,而且当代码中充满了匿名方法的时候,可读性可能就会受到影响.C# 3.0中出现的Lambda表达式在 ...