Remove PostgreSQL from health checks

This way the health checks will only check for Redis and Mapnik
initialization.
An empty tile without layers or datasources is generated.
This commit is contained in:
Alejandro Martínez
2015-01-13 11:29:19 +01:00
parent db9d350cae
commit 96bcd14bb8
7 changed files with 10 additions and 166 deletions
+4 -42
View File
@@ -34,67 +34,29 @@ HealthCheck.prototype.check = function(config, callback) {
redis: {
ok: false
},
postgresql: {
ok: false
},
mapnik: {
ok: false
},
tile: {
ok: false
}
},
mapnikXmlParams = _.extend({
dbport: global.environment.postgres.port
}, config);
};
mapnikXmlParams = config;
Step(
function getDBParams() {
startTime = Date.now();
self.metadataBackend.getAllUserDBParams(config.username, this);
},
function runQuery(err, dbParams) {
function loadMapnik(err, dbParams) {
if (err) {
throw err;
}
result.redis = {
ok: !err,
elapsed: Date.now() - startTime,
size: Object.keys(dbParams).length
};
dbParams.dbuser = _.template(global.environment.postgres_auth_user, {user_id: dbParams.dbuser});
mapnikXmlParams = _.extend(mapnikXmlParams, dbParams);
startTime = Date.now();
self.queryTablesApi.getAffectedTablesInQuery(config.username, {
user: dbParams.dbuser,
pass: dbParams.dbpass,
host: dbParams.dbhost,
port: global.environment.postgres.port,
dbname: dbParams.dbname,
api_key: dbParams.apikey
}, config.query, this);
},
function handleAffectedTablesQuery(err, affectedTables) {
if (err) {
throw err;
}
result.postgresql = {
ok: !err,
elapsed: Date.now() - startTime,
size: affectedTables.length
};
this();
},
function loadMapnik(err) {
if (err) {
throw err;
}
mapnikOptions.xml = xmlTemplate(mapnikXmlParams);
startTime = Date.now();
@@ -126,4 +88,4 @@ HealthCheck.prototype.check = function(config, callback) {
callback(err, result);
}
);
};
};
+3 -44
View File
@@ -1,45 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE Map[]>
<Map srs="+init=epsg:3857" buffer-size="128" maximum-extent="-20037508.34,-20037508.34,20037508.34,20037508.34">
<Parameters>
<Parameter name="format">png8:m=h</Parameter>
<Parameter name="interactivity_layer">layer0</Parameter>
<Parameter name="interactivity_fields">interactivity_id</Parameter>
</Parameters>
<Style name="layer0-labels" filter-mode="first">
<Rule>
<TextSymbolizer face-name="DejaVu Sans Book" size="18" label-position-tolerance="10" fill="#000000" halo-fill="#ffffff" halo-radius="1" dy="-10" allow-overlap="true" placement="point" placement-type="simple" ><![CDATA[[label]]]></TextSymbolizer>
</Rule>
</Style>
<Style name="layer0" filter-mode="first">
<Rule>
<MarkersSymbolizer fill-opacity="0.9" stroke="#ffffff" stroke-width="2" stroke-opacity="1" placement="point" marker-type="ellipse" width="16" fill="#cc3333" allow-overlap="true" />
</Rule>
</Style>
<Layer name="layer0"
srs="+init=epsg:{{=it.srid}}">
<StyleName>layer0</StyleName>
<StyleName>layer0-labels</StyleName>
<Datasource>
<Parameter name="type"><![CDATA[postgis]]></Parameter>
<Parameter name="user"><![CDATA[{{=it.dbuser}}]]></Parameter>
<Parameter name="password"><![CDATA[]]></Parameter>
<Parameter name="host"><![CDATA[{{=it.dbhost}}]]></Parameter>
<Parameter name="port"><![CDATA[{{=it.dbport}}]]></Parameter>
<Parameter name="dbname"><![CDATA[{{=it.dbname}}]]></Parameter>
<Parameter name="extent"><![CDATA[-20037508.3,-20037508.3,20037508.3,20037508.3]]></Parameter>
<Parameter name="row_limit"><![CDATA[0]]></Parameter>
<Parameter name="simplify_geometries"><![CDATA[true]]></Parameter>
<Parameter name="persist_connection"><![CDATA[false]]></Parameter>
<Parameter name="asynchronous_request"><![CDATA[false]]></Parameter>
<Parameter name="max_size"><![CDATA[500]]></Parameter>
<Parameter name="geometry_field"><![CDATA[{{=it.geometry_field}}]]></Parameter>
<Parameter name="srid"><![CDATA[{{=it.srid}}]]></Parameter>
<Parameter name="table"><![CDATA[({{=it.query}}) as cdbq]]></Parameter>
</Datasource>
</Layer>
<Map
background-color="#c33"
srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
</Map>