endpoint.py 653 B

123456789101112131415161718192021222324
  1. from __future__ import absolute_import
  2. from tornado.web import RequestHandler, Application
  3. import ondemand
  4. import psutil
  5. import os
  6. class InformerHandler(RequestHandler):
  7. def get(self):
  8. settings = self.application.settings
  9. process = psutil.Process()
  10. queue = settings['queue']
  11. return self.write(dict(
  12. version=ondemand.__version__,
  13. processID=os.getpid(),
  14. memoryUsage=process.memory_info().rss,
  15. queueSize=queue.qsize(),
  16. ))
  17. def setup_endpoint(queue=None):
  18. app = Application([(r'/info', InformerHandler)], queue=queue)
  19. app.listen(49223)
  20. return app