首页 > Web开发 > 详细

web项目超时方案

时间:2019-07-14 00:47:28      阅读:102      评论:0      收藏:0      [点我收藏+]

1. 场景描述

平台使用的Greenplum(内核是postgresql8.2)集群存储大数据量数据(每天一个表大概3亿),因为数据量比较大,所以在使用上有些限制,一是操作限制;二是不限制,但是到一定时间执行不出来结果就要取消掉该查询,不能一直占用资源。

2. 解决方案

2.1 前端nginx设置

超时时间设置为240秒,前端nginx设置时间要与后端java设置时间上保持一致。

   server {
       listen      8080;
       server_name  localhost;
       location / {
       
           root    C:/ngtest1;
           proxy_send_timeout 240;
           proxy_read_timeout 240;
        }
    }

2.2 后端java设置

    @Bean
    public JdbcTemplate jdbcTemplate() {
        JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSourceGreenPlum());
        jdbcTemplate.setQueryTimeout(240);// 查询超时4分钟
        return jdbcTemplate;
    }

采用jdbc的setQueryTimeout,超时会取消数据库执行(kill掉查询),数据库会报提示”java.sql.SQLException : Query execution was interrupted“。


web项目超时方案

原文:https://www.cnblogs.com/ruanjianlaowang/p/11182726.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!