Skip to content
This repository has been archived by the owner on Mar 28, 2022. It is now read-only.

Commit

Permalink
Added hot reload (#98)
Browse files Browse the repository at this point in the history
  • Loading branch information
tobyshooters committed Dec 21, 2020
1 parent 20acbf8 commit eddcd49
Showing 1 changed file with 14 additions and 6 deletions.
20 changes: 14 additions & 6 deletions runway/model.py
Expand Up @@ -14,6 +14,7 @@
from flask_sockets import Sockets
from gevent.pywsgi import WSGIServer
from geventwebsocket.handler import WebSocketHandler
import werkzeug.serving
from flask_compress import Compress
from .exceptions import RunwayError, MissingInputError, MissingOptionError, \
InferenceError, UnknownCommandError, SetupError
Expand Down Expand Up @@ -596,14 +597,12 @@ def run(self, host='0.0.0.0', port=9000, model_options={}, debug=False, meta=Fal

# start the run started at millis timer even if we don't actually serve
self.millis_run_started_at = timestamp_millis()

if no_serve:
print('Not starting model server because "no_serve" directive is present.')
else:
print('Starting model server at http://{0}:{1}...'.format(host, port))
if debug:
logging.basicConfig(level=logging.DEBUG)
else:
logging.basicConfig(level=logging.INFO)
return

def run_server():
http_server = WSGIServer((host, port), self.app, handler_class=WebSocketHandler)
try:
http_server.serve_forever()
Expand All @@ -612,3 +611,12 @@ def run(self, host='0.0.0.0', port=9000, model_options={}, debug=False, meta=Fal
for jobs_for_session in self.jobs.values():
for job in jobs_for_session.values():
job.terminate()

if debug:
logging.basicConfig(level=logging.DEBUG)
run_server = werkzeug.serving.run_with_reloader(run_server)
else:
logging.basicConfig(level=logging.INFO)

print('Starting model server at http://{0}:{1}...'.format(host, port))
run_server()

0 comments on commit eddcd49

Please sign in to comment.