4 # ==================================================================================
5 # Copyright (c) 2019 Nokia
6 # Copyright (c) 2018-2019 AT&T Intellectual Property.
8 # Licensed under the Apache License, Version 2.0 (the "License");
9 # you may not use this file except in compliance with the License.
10 # You may obtain a copy of the License at
12 # http://www.apache.org/licenses/LICENSE-2.0
14 # Unless required by applicable law or agreed to in writing, software
15 # distributed under the License is distributed on an "AS IS" BASIS,
16 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 # See the License for the specific language governing permissions and
18 # limitations under the License.
19 # ==================================================================================
21 from threading import Thread
22 from gevent.pywsgi import WSGIServer
23 from a1 import get_module_logger, app
27 logger = get_module_logger(__name__)
30 def start_rmr_thread(real_init=True):
33 Also called during unit testing
35 rmr_loop = a1rmr.RmrLoop(real_init)
36 thread = Thread(target=rmr_loop.loop)
38 while not rmr_loop.rmr_is_ready():
40 return rmr_loop # return the handle; useful during unit testing
46 logger.debug("Initializing rmr thread. A1s webserver will not start until rmr initialization is complete.")
50 logger.debug("Starting gevent server")
51 http_server = WSGIServer(("", 10000), app)
52 http_server.serve_forever()