PHP定时任务:ignore_user_abort+dowhile sleep+file_get_content crontab(php执行 curl请求) Swoole\Timer::tick
1.死循环方式
<?php
ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行.
set_time_limit(0);// 通过set_time_limit(0)可以让程序无限制的执行下去
ini_set('memory_limit','512M'); // 设置内存限制
$interval=60*30;// 每隔半小时运行
do{//ToDo sleep($interval);// 等待5分钟
}
while(true);
2.死循环加开关的方式
config.php
<?phpreturn 1;
?>cron.php
<?php
ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行.
set_time_limit(0);// 通过set_time_limit(0)可以让程序无限制的执行下去
$interval=60*30;// 每隔半小时运行
do{$run = include 'config.php';if(!$run) die('process abort');//ToDosleep($interval);// 等待5分钟
}
while(true);
3.连续file_get_content请求形式
<?php
$time=15;
$url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
/*function
*/
sleep($time);
file_get_contents($url);
?>
php脚本sleep 一段时间之后通过访问自身的方式继续执行. 就好像接力赛跑一样..这样就能保证每个PHP脚本
执行时间不会太长. 也就不受time_out的限制了.因为每一次一次循环php文件都是独立执行,所以这种方法,避免了time_out的限制. 但是最好和上边一样 加上
控制代码. cofig.php , 以便能够终止进程.
4.crontab
4.1在Crontab中使用PHP执行脚本
00 * * * * /usr/local/bin/php /home/john/myscript.php
4.2在Crontab中使用URL执行脚本
下面的例子是使用Lynx文本浏览器访问URL来每小时执行PHP脚本。Lynx文本浏览器默认使用对话方式打开
URL。但是,像下面的,我们在lynx命令行中使用-dump选项来把URL的输出转换来标准输出。
00 * * * * lynx -dump http://www.sf.net/myscript.php下面的例子是使用 CURL 访问URL来每5分执行PHP脚本。Curl默认在标准输出显示输出。使用 "curl -o" 选
项,你也可以把脚本的输出转储到临时文件temp.txt。
*/5 * * * * /usr/bin/curl -o temp.txt http://www.sf.net/myscript.php下面的例子是使用WGET访问URL来每10分执行PHP脚本。-q 选项表示安静模式。"-O temp.txt" 表示输出会发
送到临时文件。
*/10 * * * * /usr/bin/wget -q -O temp.txt http://www.sf.net/myscript.php
5.Swoole\Timer::tick
Swoole\Timer::tick(2000, function ($timer_id) {echo "2s--timeId--{$timer_id}";
}); //毫秒
PHP定时任务:ignore_user_abort+dowhile sleep+file_get_content crontab(php执行 curl请求) Swoole\Timer::tick相关推荐
- crontab 每周五_crontab定时任务 每隔一周的周五执行
定时任务每隔一周的周五执行 * * * * 05 /bin/bash -c '(($(date +\%s) / 86400 \% 14))' && your-script 测试是否成功 ...
- asp python 定时任务_Ubuntu使用crontab定时执行python脚本
转载其他博主的博客,记录过程,及使用中的一些问题 有时会遇到需要在linux的主机上定时的执行某个python脚本来处理事情的需求,这时可以考虑使用crontab来实现. 关于crontab的介绍,参 ...
- DataX踩坑2 | 定时任务crontab不执行或报错:/bin/sh: java: command not found
前面两天写了一个DataX的增量同步脚本,今天检查了一下发现定时任务没有执行成功,数据并没有同步.以下为排查问题和解决方法. 一.定时任务crontab不执行 脚本(测试用的可以设为每分钟一次:*/1 ...
- ubuntu 定时执行php文件,Ubuntu crontab 定时执行php脚本文件
什么是Cron和Crontab Unix和Linux系统的各个发行版本基本都支持Cron,Cron /Crontab允许我们在设定的时间自动执行或定时执行某个任务,如应用程序或脚本.更详细的概念和使用 ...
- crontab定时执行python脚本_linux下使用crontab定时执行python脚本
工作中遇到需要定时每周执行所写的python脚本,本来想使用python的定时任务框架,结果网上发现linux中提供crontab可以执行定时任务,省了好多代码,下面分享一下crontab 语法介绍 ...
- Linux下Crontab定时执行命令
Linux下Crontab定时执行命令 目录 Crontab概述及安装 Crontab规则 常见例子 1. Crontab概述及安装 1. Crontab指令是Linux下执行定时任务的一个命令. 2 ...
- linux crontab不运行,Linux运维知识之解决Linux中crontab不执行ntpdate问题
本文主要向大家介绍了Linux运维知识之解决Linux中crontab不执行ntpdate问题,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. 解决Linux中crontab尚未 ...
- linux脚本能轮循吗,通过Linux定时任务实现定时轮询数据库及发送Http请求
#通过Linux定时任务实现定时轮询数据库及发送Http请求 概述 有时需要临时增加一个定时任务(需要根据数据库查询结果然后发送HTTP请求),如果在项目中额外增加(Java+Spring+Quart ...
- crontab 不能执行的原因
最近经常碰到关于crontab不能执行的,初步总结了有以下几个原因: 第一,脚本的原因:大多数情况下,我们要相信科学,相信计算机,不是有鬼,就是我们的脚本的问题,这种问题导致crontab不能执行的概 ...
最新文章
- 卷积神经网络必读的100篇经典论文,包含检测/识别/分类/分割多个领域
- 研究Xposed相关二:如何root android模拟器(android4.3.1)
- bzoj4245: [ONTAK2015]OR-XOR
- 14--用两个栈实现队列
- 他说:越成熟,越觉得自己平庸
- Unity MeshBaker 合并网格和材质
- java jdbc实验,实验八 Java-JDBC编程
- 链表 之 字典树(讲解+模板)的构建
- 使用mat工具分析对比dump文件
- 高数符号用计算机表示,请问高等数学的符号怎么在电脑上打出来
- 远程读取mysql_远程获取数据库和文件的方法
- does not have permission to content://包名/external_files/sple/IMG_123123141.jpg
- 任正非:无法退休的老人
- 16.4 weak_ptr简介、weak_ptr常用操作与尺寸问题
- Java.util包简单总结
- PAT乙级练习题1030 完美数列
- 【Bash百宝箱】gdb命令
- python设置端口控制ie浏览器_[Python爬虫] 之二:Selenium 调用IEDriverServer打开IE浏览器安装配置...
- 如何下载react依赖包
- 8个视频素材网站,免费可商用,视频剪辑必备。
热门文章
- Docker快速安装与快速入门
- WdatePicker()时间控制方式(转载+原创)
- 01_Eclipse的使用方法
- python装饰器怎么编程_Python编程:Python装饰器入门
- 基于php构建APi流程,php – 如何构建一个RESTful API?
- fatal error: hdf5.h: No such file or directory
- VNC介绍(第一篇)
- 初探AngularJs框架(三)
- keepalived 服务器内存持续升高问题
- 《中国人工智能学会通讯》——8.25 基于演化优化的生物网络配准