首页 > 后端开发 > 正文

定时任务调度框架php php如何实现定时任务

2023-08-30 06:50:34 | 我爱编程网

对于后端开发比较关注的小伙伴们一定非常关心定时任务调度框架php php如何实现定时任务,今天我爱编程网小编为大家整理了以下内容,下面一起来看看吧。

定时任务调度框架php php如何实现定时任务

php如何自动执行定时任务



PHP本身是没有定时功能的,PHP也不能多线程。PHP的定时任务功能必须通过和其他工具结合才能实现,例如WordPress内置了wp-cron的功能,很厉害。本文,我们就来深入的解析几种常见的php定时任务的思路。
Linux服务器上使用CronTab定时执行php
我们先从相对比较复杂的服务器执行php谈起。服务器上安装了php,就可以执行php文件,无论是否安装了nginx或Apache这样的服务器环境软件。而Linux中,使用命令行,用CronTab来定时任务,又是绝佳的选择,而且也是效率最高的选择。
首先,进入命令行模式。作为服务器的linux一般都默认进入命令行模式的,当然,我们管理服务器也一般通过putty等工具远程连接到服务器,为了方便,我们用root用户登录。在命令行中键入:
crontab -e之后就会打开一个文件,并且是非编辑状态,则是vi的编辑界面,通过敲键盘上的i,进入编辑模式,就可以编辑内容。这个文件中的每一行就是一个定时任务,我们新建一行,就是新建一条定时任务(当然是指这一行内按照一定的格式进行书写)。我们现在来举个例子,增加一行,内容如下:
00 * * * * lynx -dump
00 * * * *就是指当当前时间的分钟数为00时,执行该定时任务。时间部分由5个时间参数组成,分别是:
分时日月周第1列表示分钟1~59 每分钟用或者 */1表示,/n表示每n分钟,例如*/8就是每8分钟的意思,下面也是类推
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
整个句子的后面部分就是操作的具体内容。
lynx -dump
00 */2 * * * /usr/local/bin/php /home/www/script.php这条语句就可以在每2小时的0分钟,通过linux内部php环境执行script.php,注意,这里可不是通过url访问,通过服务器环境来执行哦,而是直接执行,因为绕过了服务器环境,所以效率当然要高很多。
好了,已经添加了几条需要的定时任务了吧。点击键盘上的Esc键,输入“:wq”回车,这样就保存了设置的定时任务,屏幕上也能看到提示创建了新的定时任务。接下来就是好好写你的script.php了。
关于CronTab的更多用法这里就不介绍了,如果你想更灵活的使用这个定时任务功能,应该自己再去深入学习一下crontab。

定时任务调度框架php php如何实现定时任务我爱编程网

php如何实现定时任务,php定时任务方法,最佳

PHP制作定时任务(也称计划任务)的方法,大概分为2种:

  1. 现在基本所有的PHP框架,如:ThinkPHP,Yii,Laravel等等;它们都是单入口的形式,也就是说所有的请求都集合到index.php中,然后再由框架核心来根据请求参数的不同来分配到不同的控制器当中。基于单入口的形式,那么就可以做基于行为(例如TP3.2)或者说基于事件的定时任务。

  2. 系统自动的定时任务,比如Linux的crontab,windows的计划任务等。

两中方法各有所长各有所短

基于事件:这种利用的是框架本身提供的一些行为来实现,优点是:不需要特殊配置,只要项目能跑起来,那么定时任务也能执行。缺点是:灵活性比较差,必须要借助框架实现。

基于系统:基于操作系统来实现,优点是:灵活性很高,而且可控性也很好。缺点是:需要特殊配置,专业要求性比较强。

具体要使用哪种方法,可以依据自己的能力和项目需要来选择。最后附上TP3.2的定时任务配置,这个只需要配置就可以,如果想查看具体实现原理,可以查看/ThinkPHP/Library/Behavior/CronRunBehavior.class.php

第一步:/Application/Common/Conf目录下新建两个文件:
分别如:
/Application/Common/Conf/tags.php
/Application/Common/Conf/crons.php

1) 新建 tags.php,编辑内容如下:
return array(
'app_end' => array('Behavior\CronRunBehavior'),
);

2) 新建 crons.php ,编辑内容如下:
return array(
'cron_1' => array('myplan', 1),
);

第二步:/Application/目录下新建 Cron文件夹,里面新建文件myplan.php文件
路径如:/Application/Cron/myplan.php
编辑内容如下:
echo 11111;

查看是否运行成功,最简单的方法是查看/Application/Runtime/~crons.php,这个文件是否存在。

定时任务调度框架php php如何实现定时任务

php如何实现定时任务



php如何实现定时任务
首先使用“ignore_user_abort()”函数,让浏览器关掉也能使php脚本继续执行;
ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行.然后通过“set_time_limit(0)”可以让程序无限制的执行下去;
set_time_limit(3000);// 通过set_time_limit(0)可以让程序无限制的执行下去最后写个定时循环来执行业务逻辑。

do{
//这里写业务逻辑
sleep(5);// 等待5s
} while (true);推荐教程:《PHP教程》

以上就是我爱编程网小编为大家带来的内容了,希望能够帮助到大家,了解更多后端开发资讯敬请关注我爱编程网。
与“定时任务调度框架php php如何实现定时任务”相关推荐
php定时框架 php如何实现定时任务,php定时任务方法,最佳
php定时框架 php如何实现定时任务,php定时任务方法,最佳

PHP实现定时任务的几种方法一.简单<?phpignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行.set_time_limit(0);//通过set_time_limit(0)可以让程序无限制的执行下去ini_set('memory_limit','512M');//设置内存限制$interval=60*30;//每隔半小时运行do

2023-09-11 05:19:14
框架定时任务怎么访问php php如何实现定时任务,php定时任务方法,最佳
框架定时任务怎么访问php php如何实现定时任务,php定时任务方法,最佳

php如何实现定时任务,php定时任务方法,最佳PHP制作定时任务(也称计划任务)的方法,大概分为2种:现在基本所有的PHP框架,如:ThinkPHP,Yii,Laravel等等;它们都是单入口的形式,也就是说所有的请求都集合到index.php中,然后再由框架核心来根据请求参数的不同来分配到不同的控制器当中。基于单入口的形式,那么就可以做基于行为(例如TP3.2)或者说基于事件

2023-10-03 14:44:18
php定时框架 php如何实现定时任务
php定时框架 php如何实现定时任务

php如何实现定时任务,php定时任务方法,最佳PHP制作定时任务(也称计划任务)的方法,大概分为2种:现在基本所有的PHP框架,如:ThinkPHP,Yii,Laravel等等;它们都是单入口的形式,也就是说所有的请求都集合到index.php中,然后再由框架核心来根据请求参数的不同来分配到不同的控制器当中。基于单入口的形式,那么就可以做基于行为(例如TP3.2)或者说基于事件

2023-09-11 05:19:26
php定时调度框架 php如何自动执行定时任务
php定时调度框架 php如何自动执行定时任务

PHP实现定时任务的几种方法一.简单<?phpignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行.set_time_limit(0);//通过set_time_limit(0)可以让程序无限制的执行下去ini_set('memory_limit','512M');//设置内存限制$interval=60*30;//每隔半小时运行do

2023-09-21 02:00:26
php定时任务框架 PHP实现定时任务的几种方法
php定时任务框架 PHP实现定时任务的几种方法

PHP实现定时任务的几种方法一.简单<?phpignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行.set_time_limit(0);//通过set_time_limit(0)可以让程序无限制的执行下去ini_set('memory_limit','512M');//设置内存限制$interval=60*30;//每隔半小时运行do

2023-09-17 02:33:08
定时任务框架php PHP实现定时任务的几种方法
定时任务框架php PHP实现定时任务的几种方法

php如何自动执行定时任务PHP本身是没有定时功能的,PHP也不能多线程。PHP的定时任务功能必须通过和其他工具结合才能实现,例如WordPress内置了wp-cron的功能,很厉害。本文,我们就来深入的解析几种常见的php定时任务的思路。Linux服务器上使用CronTab定时执行php我们先从相对比较复杂的服务器执行php谈起。服务器上安装了php,就可以执行php文件,无论

2023-09-23 20:37:15
php定时器框架 php如何自动执行定时任务
php定时器框架 php如何自动执行定时任务

thinkphp框架里怎么用linux的crontab写php的定时脚本键入crontab-e编辑crontab服务文件------------------------------------------Ubuntu中的linux---------------安装lynx包:apt-getisntalllynx先写ln.sh脚本:lynx_task.php设置定时:c

2023-09-16 19:08:07
php定时函数框架 php如何自动执行定时任务
php定时函数框架 php如何自动执行定时任务

php如何制作类似setInterval函数PHP定时执行的三种方式实现1、windows的计划任务2、linux的脚本程序3、让web浏览器定时刷新具体实现1、windows计划任务PHP很少在win服务器上跑,具体实现也不再深究,看网上实现的原理大概是写bat脚本,然后让window任务添加执行这个bat脚本。2、linux的

2023-09-09 07:40:58