免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2764 | 回复: 5
打印 上一主题 下一主题

PHP如何后台线程监控数据库? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-07-03 11:24 |只看该作者 |倒序浏览
因为数据库里一部分数据需要时刻检测以修改(无法利用数据库的触发器完成这个的操作)

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

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

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

论坛徽章:
0
2 [报告]
发表于 2012-07-03 15:55 |只看该作者
crontab 把php当脚本,写到linux计划任务里面

论坛徽章:
0
3 [报告]
发表于 2012-07-03 18:16 |只看该作者
楼上正解 ,搞个计划任务就好了,

论坛徽章:
0
4 [报告]
发表于 2012-07-03 19:56 |只看该作者
回复 2# dhlilong


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

论坛徽章:
0
5 [报告]
发表于 2012-07-05 14:50 |只看该作者
本帖最后由 imbiss 于 2012-07-05 14:54 编辑

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

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

论坛徽章:
0
6 [报告]
发表于 2012-07-05 18:31 |只看该作者
提供一个很有趣的思路,不用cron实现这个功能

譬如你的脚本url是http://127.0.0.1/job.php
  1. <php
  2. 1.去除你脚本的运行时限
  3. 2.运行你的处理代码
  4. 3.sleep 30minute
  5. 4.fsocketopen(http://127.0.0.1/job.php)
  6. 5.exit
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP