2010年4月16日星期五

Re: [PerlChina] 想写个定时程序

Michael Zeng wrote:
> 谢谢, 还是写简单的吧
>
> 装模块也烦
>
>

如果你需要个长久稳定的解决方案,Schedule::Cron 看起来是个不错的模块。

http://cpansearch.perl.org/src/ROLAND/Schedule-Cron-0.99/META.yml
以得知 Schedule::Cron 另外需要安装模块 Time::ParseDate
这两个模块都不需要编译(不带 C 代码),所以把模块下载解压到同一个地方,然
后使用 use lib 即可。


Qiang

>
> 2010/4/16 cnhack TNT <cnhacktnt@gmail.com <mailto:cnhacktnt@gmail.com>>
>
> 忘了提, CPAN 上还有个 Schedule::Cron 模块,可以干和 Cron 一样的事儿
>
> 2010/4/16 cnhack TNT <cnhacktnt@gmail.com <mailto:cnhacktnt@gmail.com>>
>
> 你可以这么写:
>
> $SIG{ALRM} = sub {
> print scalar time,"\n";
> alarm(3); # 设定3秒间隔
> };
>
> alarm(1); # 只是为了激活 timer
> sleep while 1;
>
> 你也可以用 while(1){sleep(XXX);} 来定时,
> 精度要求高的话可以用上 Time::HiRes 模块
> 一般对精度要求不高但希望程序终止后,再运行还能较正确地计算间隔的
> 话,生成一个临时文件,用 while 循环结合 sleep(为了不让CPU满
> 载), 再结合 stat 来判断这个文件的修改时间和当前时间间隔,从而实
> 现定时器的功能,这种方式会比较方便。
>
> 2010/4/16 Michael Zeng <galaxy2004@gmail.com
> <mailto:galaxy2004@gmail.com>>
>
> 因为没有crontab权限 , 想写个 脚本定时运行某个perl 脚本
>
> 怎写? 如每隔1小时运行 A.pl
>
> 是这样么,不记得了,
>
>
> alarm ( 3600 ) ;
>
> $SIG{ ALM } = sub {
> system "perl A.pl " ;
> alarm ( 3600 ) ;
> }
>
> ?
>
>
> --
> Yours Sincerely
> Zeng Hong
>

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

没有评论: