我的 Google App Engine 项目中有一个预热请求。但是,在本地开发服务器上测试时,处理程序会被多次调用
它在 app.yaml 文件中正确配置:
- url: /_ah/warmup
script: main.app
login: admin
inbound_services:
- warmup
并且正在做它的工作......我只是无法弄清楚为什么它被多次调用。这是与本地开发设置有关还是我做错了什么。
这是 main.py 减去导入
class WarmUpRequestsHandler(webapp2.RequestHandler):
"""
Warmup requests pre gae instance loading
"""
def get(self):
from google.appengine.api import memcache
from product.lib.lib import ProductCaches
logging.info('warmup request handler')
kwargs = {
'klass': TheLatest(),
'products_qry': 'EMA',
'product_entity': 'ema_latest',
'memcache_key': 'ema-latest',
}
entity = ProductCaches(**kwargs)
entity.get_and_set()
self.response.headers['Content-Type'] = 'text/plain'
self.response.write('Warmup successful')
webapp2_config = config.config
app = webapp2.WSGIApplication([("/_ah/warmup", WarmUpRequestsHandler)],debug = os.environ['SERVER_SOFTWARE'].startswith('Dev'), config=webapp2_config)
# Import All Routes
adminroutes.add_routes(app)
authroutes.add_routes(app)
emailroutes.add_routes(app)
hotroutes.add_routes(app)
mediaroutes.add_routes(app)
messageroutes.add_routes(app)
paymentroutes.add_routes(app)
productroutes.add_routes(app)
searchroutes.add_routes(app)
storeroutes.add_routes(app)
routes.add_routes(app)