def create_application(): ereporter2.register_formatter() # Zap out the ndb in-process cache by default. # This cache causes excessive memory usage in in handler where a lot of # entities are fetched in one query. When coupled with high concurrency # as specified via max_concurrent_requests in app.yaml, this may cause out of # memory errors. ndb.Context.default_cache_policy = staticmethod(lambda _key: False) ndb.Context._cache_policy = staticmethod(lambda _key: False) # If running on a local dev server, allow bots to connect without prior # groups configuration. Useful when running smoke test. if utils.is_local_dev_server(): acl.bootstrap_dev_server_acls() pools_config.bootstrap_dev_server_acls() def is_enabled_callback(): return config.settings().enable_ts_monitoring backend_app = handlers_backend.create_application(False) gae_ts_mon.initialize(backend_app, is_enabled_fn=is_enabled_callback) # Local import, because it instantiates the mapreduce app. # This is for the task queue handlers. from mapreduce import main gae_ts_mon.initialize(main.APP, is_enabled_fn=is_enabled_callback) event_mon_metrics.initialize() ts_mon_metrics.initialize() utils.report_memory(backend_app) return backend_app, main.APP
def create_application(): ereporter2.register_formatter() # Task queues must be sent to the backend. utils.set_task_queue_module('backend') template.bootstrap() # Zap out the ndb in-process cache by default. # This cache causes excessive memory usage in in handler where a lot of # entities are fetched in one query. When coupled with high concurrency # as specified via max_concurrent_requests in app.yaml, this may cause out of # memory errors. ndb.Context.default_cache_policy = staticmethod(lambda _key: False) ndb.Context._cache_policy = staticmethod(lambda _key: False) # If running on a local dev server, allow bots to connect without prior # groups configuration. Useful when running smoke test. if utils.is_local_dev_server(): acl.bootstrap_dev_server_acls() pools_config.bootstrap_dev_server_acls() def is_enabled_callback(): return config.settings().enable_ts_monitoring # App that serves HTML pages and old API. frontend_app = handlers_frontend.create_application(False) gae_ts_mon.initialize(frontend_app, is_enabled_fn=is_enabled_callback) endpoints_api = endpoints_webapp2.api_server([ handlers_endpoints.SwarmingServerService, handlers_endpoints.SwarmingTaskService, handlers_endpoints.SwarmingTasksService, handlers_endpoints.SwarmingQueuesService, handlers_endpoints.SwarmingBotService, handlers_endpoints.SwarmingBotsService, # components.config endpoints for validation and configuring of luci-config # service URL. config.ConfigApi, ]) prpc_api = webapp2.WSGIApplication(handlers_prpc.get_routes()) # Local import, because it instantiates the mapreduce app. # This is for the Web UI. from mapreduce import main gae_ts_mon.initialize(main.APP, is_enabled_fn=is_enabled_callback) event_mon_metrics.initialize() ts_mon_metrics.initialize() utils.report_memory(frontend_app) utils.report_memory(endpoints_api) utils.report_memory(prpc_api) return frontend_app, endpoints_api, prpc_api, main.APP
def create_application(): ereporter2.register_formatter() utils.set_task_queue_module('backend') template.bootstrap() # If running on a local dev server, allow bots to connect without prior # groups configuration. Useful when running smoke test. if utils.is_local_dev_server(): acl.bootstrap_dev_server_acls() def is_enabled_callback(): return config.settings().enable_ts_monitoring # App that serves HTML pages and old API. frontend_app = handlers_frontend.create_application(False) gae_ts_mon.initialize(frontend_app, is_enabled_fn=is_enabled_callback) # App that contains crons and task queues. backend_app = handlers_backend.create_application(False) gae_ts_mon.initialize(backend_app, is_enabled_fn=is_enabled_callback) # Local import, because it instantiates the mapreduce app. from mapreduce import main gae_ts_mon.initialize(main.APP, is_enabled_fn=is_enabled_callback) # TODO(maruel): Remove this once there is no known client anymore. api = webapp2.WSGIApplication( endpoints_webapp2.api_server( [ handlers_endpoints.SwarmingServerService, handlers_endpoints.SwarmingTaskService, handlers_endpoints.SwarmingTasksService, handlers_endpoints.SwarmingQueuesService, handlers_endpoints.SwarmingBotService, handlers_endpoints.SwarmingBotsService, # components.config endpoints for validation and configuring of luci-config # service URL. config.ConfigApi, ], base_path='/_ah/api')) event_mon_metrics.initialize() ts_mon_metrics.initialize() return frontend_app, api, backend_app, main.APP
def create_application(): ereporter2.register_formatter() def is_enabled_callback(): return config.settings().enable_ts_monitoring # App that serves HTML pages and old API. frontend_app = handlers_frontend.create_application(False) gae_ts_mon.initialize(frontend_app, is_enabled_fn=is_enabled_callback) # Local import, because it instantiates the mapreduce app. from mapreduce import main gae_ts_mon.initialize(main.APP, is_enabled_fn=is_enabled_callback) api = endpoints.api_server([ handlers_endpoints.swarming_api, # components.config endpoints for validation and configuring of luci-config # service URL. config.ConfigApi, ]) ts_mon_metrics.initialize() return frontend_app, api, main.APP
def test_initialize(self): # Smoke test for syntax errors. ts_mon_metrics.initialize()