added healthcheck url
This commit is contained in:
parent
0b34d29a18
commit
1df6ebee09
19
server.py
19
server.py
@ -1,5 +1,6 @@
|
|||||||
import tornado.ioloop
|
import tornado.ioloop
|
||||||
import tornado.web
|
import tornado.web
|
||||||
|
from tornado import httputil
|
||||||
import io
|
import io
|
||||||
import os
|
import os
|
||||||
|
|
||||||
@ -33,7 +34,6 @@ def GenerateBaseQuery(layers):
|
|||||||
base_query = f"SELECT ST_ASMVT(tile, '{layer['id']}', 4096, 'mvtgeometry') FROM ({layer_query} WHERE ST_AsMVTGeom(geometry, !bbox!,4096,{buffer_size},true) IS NOT NULL) AS tile"
|
base_query = f"SELECT ST_ASMVT(tile, '{layer['id']}', 4096, 'mvtgeometry') FROM ({layer_query} WHERE ST_AsMVTGeom(geometry, !bbox!,4096,{buffer_size},true) IS NOT NULL) AS tile"
|
||||||
queries.append(base_query)
|
queries.append(base_query)
|
||||||
query = query + " UNION ALL ".join(queries) + ";"
|
query = query + " UNION ALL ".join(queries) + ";"
|
||||||
print(query)
|
|
||||||
return(query)
|
return(query)
|
||||||
|
|
||||||
layers = GetTM2Source("/mapping/data.yml")
|
layers = GetTM2Source("/mapping/data.yml")
|
||||||
@ -75,11 +75,10 @@ def get_mvt(zoom,x,y):
|
|||||||
tilebounds = bounds(sani_zoom,sani_x,sani_y)
|
tilebounds = bounds(sani_zoom,sani_x,sani_y)
|
||||||
s,w,n,e = str(tilebounds['s']),str(tilebounds['w']),str(tilebounds['n']),str(tilebounds['e'])
|
s,w,n,e = str(tilebounds['s']),str(tilebounds['w']),str(tilebounds['n']),str(tilebounds['e'])
|
||||||
sent_query = replace_tokens(base_query,s,w,n,e,scale_denom)
|
sent_query = replace_tokens(base_query,s,w,n,e,scale_denom)
|
||||||
print(sent_query)
|
|
||||||
response = list(session.execute(sent_query))
|
response = list(session.execute(sent_query))
|
||||||
layers = filter(None,list(itertools.chain.from_iterable(response)))
|
_layers = filter(None,list(itertools.chain.from_iterable(response)))
|
||||||
final_tile = b''
|
final_tile = b''
|
||||||
for layer in layers:
|
for layer in _layers:
|
||||||
final_tile = final_tile + io.BytesIO(layer).getvalue()
|
final_tile = final_tile + io.BytesIO(layer).getvalue()
|
||||||
return final_tile
|
return final_tile
|
||||||
|
|
||||||
@ -88,13 +87,23 @@ class GetTile(tornado.web.RequestHandler):
|
|||||||
self.set_header("Content-Type", "application/x-protobuf")
|
self.set_header("Content-Type", "application/x-protobuf")
|
||||||
self.set_header("Content-Disposition", "attachment")
|
self.set_header("Content-Disposition", "attachment")
|
||||||
self.set_header("Access-Control-Allow-Origin", "*")
|
self.set_header("Access-Control-Allow-Origin", "*")
|
||||||
|
self.set_header("Cache-Control", "private")
|
||||||
response = get_mvt(zoom,x,y)
|
response = get_mvt(zoom,x,y)
|
||||||
self.write(response)
|
self.write(response)
|
||||||
|
|
||||||
|
class HealthCheck(tornado.web.RequestHandler):
|
||||||
|
def get(self):
|
||||||
|
self.write("OK")
|
||||||
|
|
||||||
def m():
|
def m():
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
# Make this prepared statement from the tm2source
|
# Make this prepared statement from the tm2source
|
||||||
application = tornado.web.Application([(r"/tiles/([0-9]+)/([0-9]+)/([0-9]+).pbf", GetTile)])
|
application = tornado.web.Application(
|
||||||
|
[
|
||||||
|
(r"/tiles/([0-9]+)/([0-9]+)/([0-9]+).pbf", GetTile),
|
||||||
|
("/healthcheck", HealthCheck)
|
||||||
|
]
|
||||||
|
)
|
||||||
print("Postserve started..")
|
print("Postserve started..")
|
||||||
application.listen(8080)
|
application.listen(8080)
|
||||||
tornado.ioloop.IOLoop.current().start()
|
tornado.ioloop.IOLoop.current().start()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user