场景描述:
有些耗时任务是交给服务器执行php脚本的,有时候在后台发现统计数据异常的时候,可能想要再次执行那个脚本。
问题: 有没有什么办法可以触发服务器执行那个脚本
,而不是
通过web服务器处理这个耗时的业务。
或者说对于那些大公司,怎么处理类似的情况的呢?
场景描述:
有些耗时任务是交给服务器执行php脚本的,有时候在后台发现统计数据异常的时候,可能想要再次执行那个脚本。
问题: 有没有什么办法可以触发服务器执行那个脚本
,而不是
通过web服务器处理这个耗时的业务。
或者说对于那些大公司,怎么处理类似的情况的呢?
使用system(),exec()类似的函数直接调取系统命令执行对应脚本 注意权限问题
在服务器中维护常住进程,php将需要处理的数据放入内存或者数据库.由常驻进程读取然后执行对应任务
和第二个差不多,只是将常驻进程修改为定时执行脚本
小业务用1和3都可以
大业务用2,搜索队列服务或者是分布式队列服务
1 回答4.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答2.2k 阅读
2 回答1.5k 阅读
1 回答581 阅读✓ 已解决
我想你需要的是后台队列任务。
可以看一下
php resque
或者简单点的思路
可以写个
server
端,接受请求(可以是http协议
或是二进制协议
),根据请求的参数,fork
一个进程执行某个脚本