You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

33 lines
874 B

  1. #!/usr/bin/python
  2. import nilmdb
  3. import argparse
  4. parser = argparse.ArgumentParser(description='Run the NILM server')
  5. parser.add_argument('-p', '--port', help='Port number', type=int, default=12380)
  6. parser.add_argument('-y', '--yappi', help='Run with yappi profiler',
  7. action='store_true')
  8. args = parser.parse_args()
  9. # Start web app on a custom port
  10. db = nilmdb.NilmDB("db")
  11. server = nilmdb.Server(db, host = "127.0.0.1",
  12. port = args.port,
  13. embedded = False)
  14. if args.yappi:
  15. print "Running in yappi"
  16. try:
  17. import yappi
  18. yappi.start()
  19. server.start(blocking = True)
  20. finally:
  21. yappi.stop()
  22. print "Try: yappi.print_stats(sort_type=yappi.SORTTYPE_TTOT,limit=50)"
  23. from IPython import embed
  24. embed()
  25. else:
  26. server.start(blocking = True)
  27. db.close()