scheduler.py 954 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. # Copyright 2020 Cloudbase Solutions Srl
  2. # All Rights Reserved.
  3. import sys
  4. from oslo_config import cfg
  5. from coriolis import constants
  6. from coriolis import service
  7. from coriolis import utils
  8. from coriolis.scheduler.rpc import server as rpc_server
  9. scheduler_opts = [
  10. cfg.IntOpt('worker_count',
  11. min=1, default=1,
  12. help='Number of processes in which the service will be running')
  13. ]
  14. CONF = cfg.CONF
  15. CONF.register_opts(scheduler_opts, 'scheduler')
  16. def main():
  17. CONF(sys.argv[1:], project='coriolis',
  18. version="1.0.0")
  19. utils.setup_logging()
  20. server = service.MessagingService(
  21. constants.SCHEDULER_MAIN_MESSAGING_TOPIC,
  22. [rpc_server.SchedulerServerEndpoint()],
  23. rpc_server.VERSION, worker_count=CONF.scheduler.worker_count)
  24. launcher = service.service.launch(
  25. CONF, server, workers=server.get_workers_count())
  26. launcher.wait()
  27. if __name__ == "__main__":
  28. main()