gam2046 发表于 2012-07-03 11:24

PHP如何后台线程监控数据库?

因为数据库里一部分数据需要时刻检测以修改(无法利用数据库的触发器完成这个的操作)

要求:在PHP应用程序运行后(或我访问某个特定页面)、创建一个线程、每隔30s执行一个特定的操作A、除非服务器进程结束、否则这个线程不会停止

这样的要求应该怎么做?网上资料搜出来 有说PHP是不支持多线程的、都是利用WEB服务器来模拟的、本质上是多进程....

其实怎么实现我也不太关注、重点是怎么实现这样的功能?

dhlilong 发表于 2012-07-03 15:55

crontab 把php当脚本,写到linux计划任务里面

hbeimf 发表于 2012-07-03 18:16

楼上正解 ,搞个计划任务就好了,

gam2046 发表于 2012-07-03 19:56

回复 2# dhlilong


    帮朋友要实现一个小功能、他用的是网上买的那种虚拟主机、怕是没权限加计划任务的、而我自己对PHP并不熟悉(或者说之前完全不会)、按照您的说法、现在是无解的状态是吗?如果真的是没办法、那我也只能厚着脸皮和朋友交差了

imbiss 发表于 2012-07-05 14:50

本帖最后由 imbiss 于 2012-07-05 14:54 编辑

找一个有cronjob权限的,每隔n秒发送个http请求过去。

当然最好用nagios 监控。去运维板块看看吧。

amazergling 发表于 2012-07-05 18:31

提供一个很有趣的思路,不用cron实现这个功能

譬如你的脚本url是http://127.0.0.1/job.php<php
1.去除你脚本的运行时限
2.运行你的处理代码
3.sleep 30minute
4.fsocketopen(http://127.0.0.1/job.php)
5.exit
页: [1]
查看完整版本: PHP如何后台线程监控数据库?