FastCGI的开发有一个很郁闷的地方

FastCGI的开发有一个很郁闷的地方

FastCGI的开发有一个很郁闷的地方
经过两天的测试,基本把CGI::Fast,HTML::template和DBI+DBD::ODBC结合起来了,
不过因为循环部分驻留在内存里,每次写完程序修改了以后根本看不到修改后的页面,
要重启一次服务器(甚至重启机器)才是新的页面.FCGI模块提供杀死CGI进程的方法
了,但不能用CGI模块;CGI::fast继承了CGI模块的方法了,说明文档简单得要命,没有
杀死进程的相关方法.想来同样原理的mod_perl和speedyCGI也存在着同样的问题吧.

在FastCGI这片自由之土上我挣扎前进,为了明天的光明(握紧拳头泪流满面言:开荒者
是艰苦的).
mod_perl 倒是有个 Apache.
mod_perl 倒是有个 Apache2::Reload
我记得 FastCGI 也是有的。真的有的。
如果记得没错的话,mod_pe.
如果记得没错的话,mod_perl 里非模块程序好象是根据更新时间自动被 mod_perl reload 。mod_perl load 进去的模块要用 apache::reload。

CGI::Fast 既然是继承 CGI.pm 的话,那么使用方法和 CGI.pm 基本都一样的。文档看 CGI.pm 的就好了。

fastcgi 大概看看开发一下没坏处,但估计我们没人使用过 fcgi(好象只有hoowa :))所以提供帮助有限了。mod_perl 倒是值得花时间学习以下。
用stat记录文件修改的时间.
用stat记录文件修改的时间,
一但文件修改时间有变动, 就kill fcgi进程自身。
当有新的请求发起时, fcgi进程自会启动吧。。。

程序部署或发布时, 再关闭这个功能吧, 省去额外负担~ ;-)

呵,我只是随便说说感受而已
我只是随便说说感受而已,呵,呵.
CGI::Fast内的方法是继承CGI的,唯一不同的是他不用写前面引用那部分.
比如说CGI中的写法是:$query->param()
那CGI::fast的写法就是:param()
我说那句话的意思是CGI模块里没有杀死FastCGI进程的方法啊,呵,呵.
不过试多了发现只要把服务器停一下,关齐浏览器,再开就可以了,也不
算十分麻烦.
如果你用apache的话,Fast.
如果你用apache的话,Fastcgi配置选项里可以设置改动后自动从新加载程序的, 具体你可以看看文档
#!/usr/bin/perl--local.
#!/usr/bin/perl
local $| = 1;

use strict;
use vars qw/ $run_max $count $request /;

use FCGI;
$run_max = 10; [color=red]# 设置运行多少次后重启一次[/color]
$count = 0;
$request = FCGI::Request();
while ($request->Accept()>= 0)
{
$COUNT++;
print "Content-type: text/html\n\n";
print '本程序在FastCGI环境下已运行了 ' . $count . " 次\n";
if($run_max and $count >= $run_max)
{
$request->Finish();
exit(0);
};
};