导航:首页 > 编程语言 > php中的定时器

php中的定时器

发布时间:2025-09-09 12:07:43

㈠ thinkphp6定时任务,php定时器EasyTask

本教程使用的定时任务基于EasyTak,EasyTask官方文档: https://gitee.com/392223903/EasyTask

(1).安装tp6

(2).安装定时任务composer包

(3).创建命令行处理类文件

会生成文件:tp\app\command\Task.php

将Task.php文件内容修改如下:

(4).配置tp\config\console.php文件

(5).执行命令(windows请使用cmd):

㈡ php 延迟异步执行执行怎么做

用js,给b方法加个setTimeout()定时器,设定20秒后执行b方法即可,其他方法正常运行。

㈢ PHP+MYSQL 实现队列 进行发送短信怎么做

最近遇到一个批量发送短信的需求,短信接口是第三方提供的。刚开始想到,获取到手机号之后,循环调用接口发送不就可以了吗?

但很快发现问题:当短信数量很大时,不仅耗时,而且成功率很低。

于是想到,用PHP和MySQL实现一个消息队列,一条一条的发送短信。下面介绍具体的实现方法:

首先,建立一个数据表sms,包含以下字段:

id,
phone, //手机号
content //短信内容
将需要发送的短信和手机号存入sms表中。

接下来,需要用PHP实现一个定时器,定时读取一条记录,并发送短信:

<?php
$db = new Db();
$sms = new Sms();
while(true){
$item = $db->getFirstRecord(); //获取数据表第一条记录
if(!$item){
//如果队列中没有数据,则结束定时器
break;
}
$res = $sms->send($item['phone'],$item['content']); //发送短信
if($res){
$db->deleteFristRecord(); //删除发送成功的记录
echo $item['phone'].'发送成功';
}else{
echo $item['phone'].'发送失败,稍后继续尝试';
}
sleep(10); //每隔十秒循环一次
}

echo '发送完毕!';
?>
将代码保存为timer_sms.php,打开命令行,执行定时器:

php timer_sms.php
好了,php定时器将会根据设定的时间间隔(这里设的是10秒),自动完成发送短信的任务。任务完成后将自动退出定时器,不再占用服务器资源。

根据我的测试,PHP定时器占用资源并不多,不会对服务器造成压力。而且是异步访问数据库,也不会影响数据库的运行。

这种方式的优点是:

1、后台运行,前台无需等待

2、成功率高,失败的记录会自动重发,直到成功

阅读全文

与php中的定时器相关的资料

热点内容
安卓怎么用文件升级 浏览:658
如何发展mc服务器 浏览:160
安卓手机拍照是反的如何正过来 浏览:619
服务器怎么外接机械硬盘 浏览:84
如何输入代理服务器和端口 浏览:674
排序算法的实现的总结 浏览:16
重庆活塞并联压缩机哪里买 浏览:516
中信银行信用卡app叫什么名字图片 浏览:15
php指定ip访问 浏览:45
n1盒子编译openwrt 浏览:957
android不混淆库 浏览:622
酷程序员头像 浏览:808
短视频平台服务器怎么选 浏览:74
怎么分辨瑞年和平年的C语言编译 浏览:217
黑马程序员vue教程第32讲 浏览:761
为什么服务器拷贝速度百兆 浏览:651
月薪过万的程序员多久能在北上广 浏览:982
妈妈看中程序员相亲 浏览:381
服务器配置不了ip地址怎么办 浏览:878
小米商城app有什么 浏览:303