异步本身不会超时 报错
2016-07-01 09:59
447 查看
jrhmpt01:/root/async# cat a6.pl use AnyEvent::HTTP; use HTTP::Date qw(time2iso str2time time2iso time2isoz); my $cv = AnyEvent->condvar; http_request GET => 'http://120.55.xx.6:3000/api/env?ip=192.168.32.101',timeout => 20, sub { my ($body, $hdr) = @_; $time2=time2iso(time()); print "\$time2 is $time2\n"; print "$body\n"; }; $time1=time2iso(time()); print "\$time1 is $time1\n"; print "11111111111111111111\n"; $cv->recv(); jrhmpt01:/root/async# perl a6.pl $time1 is 2016-07-01 09:44:55 11111111111111111111 $time2 is 2016-07-01 09:45:05 ["","192.168.32.101 dr-mysql env-backup"] /**** 定义的接口10秒后返回: use DBI; my $dbName = 'oadb'; my $dbUser = 'query'; my $dbUserPass = 'xxxx'; my $dbh = DBI->connect("dbi:Oracle:$dbName", $dbUser, $dbUserPass) or die "can't connect to database " ; my $hostSql = qq{select IP,INFO,ENV from machine_info where IP='$ip' }; my ($a1, $a2, $a3,$a4,$a5,$a6,$a7,$a8,$a9); my @arr2=""; my $selStmt = $dbh->prepare($hostSql); $selStmt->bind_columns(undef, \$a1, \$a2, \$a3); $selStmt->execute(); while( $selStmt->fetch() ){ push (@arr2, "$a1 $a2 $a3" ) }; sleep (10); $c->render(json => \@arr2); }}; get '/api/bus' => sub { my $c = shift; my $bus= $c->param('bus'); my $flag=$c->param('flag'); if( ($bus) || ($flag) ) { /**** 如果接口返回超过超时时间设置呢?,接口返回时间设置为30s jrhmpt01:/root/async# cat a6.pl use AnyEvent::HTTP; use HTTP::Date qw(time2iso str2time time2iso time2isoz); my $cv = AnyEvent->condvar; http_request GET => 'http://120.55.118.6:3000/api/env?ip=192.168.32.101',timeout => 20, sub { my ($body, $hdr) = @_; $time2=time2iso(time()); print "\$time2 is $time2\n"; print "$body\n"; }; $time1=time2iso(time()); print "\$time1 is $time1\n"; print "11111111111111111111\n"; $cv->recv(); jrhmpt01:/root/async# perl a6.pl $time1 is 2016-07-01 09:47:08 11111111111111111111 $time2 is 2016-07-01 09:47:28 异步请求超时,本身不会返回错误,需要自己手动打印
相关文章推荐
- Ubuntu 16.04安装 PeaZip 6.0.3档案管理器
- 集结乐电脑管家 v6.5.0.0官方版
- NFV驶入快车道: 核心网率先“漫步云端”
- iOS App开发:最好的设计和开发工具
- NGUI 背包系统的拖拽
- db2 远程客户机(client)连接
- 交换左右子树
- Android学习笔记十六之FrameLayout框架布局
- presto-elasticsearch connector
- jquery插件省市三级联动
- spring 8 bean配置--IOC容器中bean的生命周期
- 我的新博客
- RecyclerView--GridLayoutManager设置某个item占据的列数
- Exchange2010升级到2016——配置Exchange2016SCP、Anywhere配置、证书
- 编辑距离算法详解:Levenshtein Distance算法
- JAVA读取本地txt文件
- 10分钟 搞定JS和iOS的交互
- 从intellij转as的一个问题
- C#关于AutoResetEvent的使用介绍
- JNI学习笔记之:锅炉压力监控测试Demo