扫码关注官方订阅号
场景描述:有些耗时任务是交给服务器执行php脚本的,有时候在后台发现统计数据异常的时候,可能想要再次执行那个脚本。问题: 有没有什么办法可以触发服务器执行那个脚本,而不是通过web服务器处理这个耗时的业务。
触发服务器执行那个脚本
而不是
或者说对于那些大公司,怎么处理类似的情况的呢?
人生最曼妙的风景,竟是内心的淡定与从容!
我想你需要的是后台队列任务。
可以看一下php resque
php resque
或者简单点的思路
可以写个server端,接受请求(可以是http协议或是二进制协议),根据请求的参数,fork一个进程执行某个脚本
server
http协议
二进制协议
fork
使用system(),exec()类似的函数直接调取系统命令执行对应脚本 注意权限问题
在服务器中维护常住进程,php将需要处理的数据放入内存或者数据库.由常驻进程读取然后执行对应任务
和第二个差不多,只是将常驻进程修改为定时执行脚本
小业务用1和3都可以大业务用2,搜索队列服务或者是分布式队列服务
linux 有个定时器,你百度一下->linux crontab应该可以解决你的问题
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
我想你需要的是后台队列任务。
可以看一下
php resque或者简单点的思路
可以写个
server端,接受请求(可以是http协议或是二进制协议),根据请求的参数,fork一个进程执行某个脚本使用system(),exec()类似的函数直接调取系统命令执行对应脚本 注意权限问题
在服务器中维护常住进程,php将需要处理的数据放入内存或者数据库.由常驻进程读取然后执行对应任务
和第二个差不多,只是将常驻进程修改为定时执行脚本
小业务用1和3都可以
大业务用2,搜索队列服务或者是分布式队列服务
linux 有个定时器,你百度一下->linux crontab
应该可以解决你的问题