endpoint.py 628 B

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