Просмотр исходного кода

Merged in aznashwan/coriolis/windows-worker (pull request #7)

Made services launch as single processes if on Windows.
Alessandro Pilotti 10 лет назад
Родитель
Сommit
44af7e480f
5 измененных файлов с 14 добавлено и 12 удалено
  1. 2 2
      coriolis/cmd/api.py
  2. 2 2
      coriolis/cmd/conductor.py
  3. 2 2
      coriolis/cmd/worker.py
  4. 7 5
      coriolis/service.py
  5. 1 1
      requirements.txt

+ 2 - 2
coriolis/cmd/api.py

@@ -16,9 +16,9 @@ def main():
          version="1.0.0")
     utils.setup_logging()
 
-    launcher = service.get_process_launcher()
     server = service.WSGIService('coriolis-api')
-    launcher.launch_service(server, workers=server.get_workers_count())
+    launcher = service.service.launch(
+        CONF, server, workers=server.get_workers_count())
     launcher.wait()
 
 

+ 2 - 2
coriolis/cmd/conductor.py

@@ -17,11 +17,11 @@ def main():
          version="1.0.0")
     utils.setup_logging()
 
-    launcher = service.get_process_launcher()
     server = service.MessagingService(
         'coriolis_conductor', [rpc_server.ConductorServerEndpoint()],
         rpc_server.VERSION)
-    launcher.launch_service(server, workers=server.get_workers_count())
+    launcher = service.service.launch(
+        CONF, server, workers=server.get_workers_count())
     launcher.wait()
 
 

+ 2 - 2
coriolis/cmd/worker.py

@@ -17,11 +17,11 @@ def main():
          version="1.0.0")
     utils.setup_logging()
 
-    launcher = service.get_process_launcher()
     server = service.MessagingService(
         'coriolis_worker', [rpc_server.WorkerServerEndpoint()],
         rpc_server.VERSION)
-    launcher.launch_service(server, workers=server.get_workers_count())
+    launcher = service.service.launch(
+        CONF, server, workers=server.get_workers_count())
     launcher.wait()
 
 

+ 7 - 5
coriolis/service.py

@@ -1,4 +1,5 @@
 import os
+import platform
 
 from oslo_concurrency import processutils
 from oslo_config import cfg
@@ -35,8 +36,12 @@ class WSGIService(service.ServiceBase):
     def __init__(self, name):
         self._host = CONF.api_migration_listen
         self._port = CONF.api_migration_listen_port
-        self._workers = (CONF.api_migration_workers or
-                         processutils.get_worker_count())
+
+        if platform.system() == "Windows":
+            self._workers = 1
+        else:
+            self._workers = (
+                CONF.api_migration_workers or processutils.get_worker_count())
 
         self._loader = wsgi.Loader(CONF)
         self._app = self._loader.load_app(name)
@@ -89,9 +94,6 @@ class MessagingService(service.ServiceBase):
         self._server.reset()
 
 
-def get_process_launcher():
-    return service.ProcessLauncher(CONF)
-
 '''
 _launcher = None
 

+ 1 - 1
requirements.txt

@@ -11,7 +11,7 @@ oslo.log
 oslo.messaging
 oslo.middleware
 oslo.serialization
-oslo.service
+oslo.service>=1.12.0
 oslo.versionedobjects
 paramiko
 paste