PHP执行定时任务

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);
  }
?> 

时间: 2024-08-05 07:07:19

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

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

本篇在ASP.NET MVC下实践使用Quartz.NET执行定时任务. 首先通过NuGet安装Quartz.NET. 使用Quartz.NET的大致思路是:1.实现IJob接口,定义具体要做的事情2.使用Quartz.NET的API定义定时任务规则3.在Application_Start注册定时任务 实现IJob接口. public class MyJob : IJob { public void Execute(IJobExecutionContext context) { Debug.Wr

PHP实现执行定时任务的几种思路详解

PHP实现执行定时任务的几种思路详解 php 定时任务 唐霜 2015年07月03日发布 推荐 7 推荐 收藏 65 收藏,11.1k 浏览 PHP本身是没有定时功能的,PHP也不能多线程.PHP的定时任务功能必须通过和其他工具结合才能实现,例如WordPress内置了wp-cron的功能,很厉害.本文,我们就来深入的解析几种常见的php定时任务的思路. Linux服务器上使用CronTab定时执行php 我们先从相对比较复杂的服务器执行php谈起.服务器上安装了php,就可以执行php文件,无

@Scheduled执行定时任务与cron表达式

1 配置文件形式执行定时任务 1 1.X 版本与spring结合使用实例 1.1 常用maven管理 pom.xml文件 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://

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

package com.ripsoft.util; import java.util.Calendar; import java.util.Timer; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; public class TimerListener implements ServletContextListener{ private Timer timer = nu

SpringMVC框架使用注解执行定时任务

在项目开发过程中,免不了会有一些定时任务.今天就给大家一个SpringMVC框架中利用注解的方式执行定时任务的示例代码 使用到的JAR文件: 点击下列Jar文件会跳到我的网盘下载 aopalliance-1.0.jarcommons-logging-1.1.3.jarspring-aop-3.2.4.RELEASE.jarspring-beans-3.2.4.RELEASE.jarspring-context-3.2.4.RELEASE.jarspring-core-3.2.4.RELEASE.

Celery+python+redis异步执行定时任务

我之前的一篇文章中写了[Celery+django+redis异步执行任务] 博文:http://blog.csdn.net/apple9005/article/details/54236212 你会发现,这些代码并不依赖django框架,随便写到一个py文件中,就可以轻松的执行成功,这是因为这些代码并没有用到django-celery,django-redis等依附于django框架的东西. 今天,参照官方文档示例,测试一下celery的异步执行定时任务如何.我先是在django框架内执行了一

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

最近遇到了这样的场景:每隔一段时间,需要在后台使用队列对一批数据进行业务处理. Quartz.NET是一种选择,在 .NET Core中,可以使用IHostedService执行后台定时任务.在本篇中,首先尝试把队列还原到最简单.原始的状态,然后给出以上场景问题的具体解决方案. 假设一个队列有8个元素.现在abcd依次进入队列. 0 1 2 3 4 5 6 7 a b c d head tail ab依次出队列. 0 1 2 3 4 5 6 7 c d head tail 可以想象,随着不断地入

SpringBoot中使用Scheduling执行定时任务

SpringBoot自带的 Schedule,可以将它看成一个轻量级的Quartz,而且使用起来比Quartz简单许多以下任务都是在单线程下执行的第一步 创建SpringBoot项目第二步 添加@EnableScheduling开启定时任务第三步 设置定时需要执行的任务有两种方法设置执行时机第一种我们就且叫他为普通方法1.fixedRate:会为所有任务的开始执行时间编排一个表,假如fixedRate=5000,且第一次开始时间是10:00:00任务 开始执行时间任务1 10:00:00任务2

使用轻量级Spring @Scheduled注解执行定时任务

WEB项目中需要加入一个定时执行任务,可以使用Quartz来实现,由于项目就一个定时任务,所以想简单点,不用去配置那些Quartz的配置文件,所以就采用了Spring @Scheduled注解来实现了定时任务.在这里做个备注. spring配置文件  xmlns中加入一段: xmlns:task="http://www.springframework.org/schema/task" 然后xsi:schemaLocation多加下面的内容: http://www.springframe