首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >捕获WebService中的连接错误::Solr模块

捕获WebService中的连接错误::Solr模块
EN

Stack Overflow用户
提问于 2016-03-11 07:20:33
回答 1查看 102关注 0票数 1

我搞不懂为什么索尔总是崩溃。我编写了一个shell脚本,它将自动重新引导它:

代码语言:javascript
复制
#!/bin/bash

declare -a arr=(tomcat7 nginx mysql);

for i in "${arr[@]}"
do
   echo "Checking $i"
    if (( $(ps -ef | grep -v grep | grep $i | wc -l) > 0 ))
    then
    echo "$i is running!!!"
    else
    echo "service $i start\n"
    service $i start
    fi
done

# re-run, but this time do a restart if its still not going!
for i in "${arr[@]}"
do
   echo "Checking $i"
    if (( $(ps -ef | grep -v grep | grep $i | wc -l) > 0 ))
    then
    echo "$i is running!!!"
    else
    service $i restart
    fi
done

然而,即使这样,似乎也不起作用。我不得不再次手动重新启动它,因为它已经离线了3天(只是碰巧注意到了,因为我正在检查错误日志)。

辍学人数比以前少得多(也许每隔几周就有一次)。不过,我想在发生这种情况时得到通知。

我正在使用Perl模块:http://search.cpan.org/~petdance/WebService-Solr-0.23/lib/WebService/Solr.pm来完成这项工作(是的,我知道它非常有限,但它可以完成我所需要的工作)

我的旧代码是:

代码语言:javascript
复制
            $solr = WebService::Solr->new( SOLR )

但是,当Solr脱机时,会收到一条令人讨厌的错误消息:

无法解析JSON响应:格式错误的JSON字符串、标记、数组、对象、数字、字符串或原子,在字符偏移量0处(在“无法连接到loc.”之前)在/srv/www/site.net/www/cgi-bin/admin/WebService/Solr/Response.pm 42号线。无法连接到本地主机:8080

我试图使用eval {}来捕获错误,但即使这样也不起作用:

代码语言:javascript
复制
        my $solr;
        eval {
            $solr = WebService::Solr->new( SOLR )
        };

         if (@$) {
            print $IN->header;
            print "FOO: @$";
            exit;
         }

有人对我如何发现这些错误有什么建议吗?(然后我会发电子邮件给我,这样我就知道问题已经发生了!)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-12 09:34:09

代码的问题在于,转换异常的不是WebService::Solr->new(),而是$response->content,它是从$response->docs隐式调用的。

您应该将eval移动到代码的这一部分:

代码语言:javascript
复制
my $response = $solr->search( $query );
eval {
    for my $doc ( $response->docs ) {
        print $doc->value_for( $id );
    }
};

if ($@) {
    print "FOO: $@ \n\n";
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35934398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档