php定时执行任务的几个方法

| No Comments | No TrackBacks
PHP的实现决定了它没有Java和.Net这种AppServer的概念, 而http协议是一个无状态的协议, php只能被用户触发, 被调用, 调用后会自动退出内存, 没有常驻内存, 就没有办法准确的定时处理
那么, 如果需要用PHP定时执行某些任务的话, 可以有以下俩个方法:
  1. Linux下crontab, windows下计划任务
  2. 找个被频繁调用的网页, 里面加上一个检测代码
  3. set_time_limit(0);
    ignore_user_abort(true);
    死循环
第一个方法是最常见的, 如果php服务器上没有权限去crontab, 也可以找一个自己的机器定期crontab去请求服务器
第二种方法, 论坛上定时清理新帖基本上就是这么实现的, 如果人气不旺的话, 可以考虑去别的火爆点的论坛里面发个图片, 调用自己的php来实现一个trigger就好了。 Discuz!是判断在00:00之后,第一个执行者去执行的。
第三种比较不靠谱, Apache重启了就得重新访问,  fastcgi倒是会好一点。

No TrackBacks

TrackBack URL: http://blog.suchasplus.com/mt/mt-tb.cgi/191

Leave a comment

About this Entry

This page contains a single entry by suchasplus published on September 11, 2008 1:14 AM.

Howto构建一套完整的运维管理系统 was the previous entry in this blog.

使用Table.innerHTML在IE下报错的原因 is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

Pages

OpenID accepted here Learn more about OpenID
Powered by Movable Type 5.2.7