equal
deleted
inserted
replaced
1 # -*- coding: utf-8 -*- |
1 # -*- coding: utf-8 -*- |
2 # copyright 2012 LOGILAB S.A. (Paris, FRANCE), all rights reserved. |
2 # copyright 2014 LOGILAB S.A. (Paris, FRANCE), all rights reserved. |
3 # contact http://www.logilab.fr/ -- mailto:contact@logilab.fr |
3 # contact http://www.logilab.fr/ -- mailto:contact@logilab.fr |
4 # |
4 # |
5 # This file is part of CubicWeb. |
5 # This file is part of CubicWeb. |
6 # |
6 # |
7 # CubicWeb is free software: you can redistribute it and/or modify it under the |
7 # CubicWeb is free software: you can redistribute it and/or modify it under the |
48 for address in address_sub: |
48 for address in address_sub: |
49 self.repo.app_instances_bus.add_subscriber(address) |
49 self.repo.app_instances_bus.add_subscriber(address) |
50 self.repo.app_instances_bus.start() |
50 self.repo.app_instances_bus.start() |
51 |
51 |
52 |
52 |
53 class ZMQRepositoryServerStopHook(hook.Hook): |
|
54 __regid__ = 'zmqrepositoryserverstop' |
|
55 events = ('server_shutdown',) |
|
56 |
|
57 def __call__(self): |
|
58 server = getattr(self.repo, 'zmq_repo_server', None) |
|
59 if server: |
|
60 self.repo.zmq_repo_server.quit() |
|
61 |
|
62 class ZMQRepositoryServerStartHook(hook.Hook): |
|
63 __regid__ = 'zmqrepositoryserverstart' |
|
64 events = ('server_startup',) |
|
65 |
|
66 def __call__(self): |
|
67 config = self.repo.config |
|
68 if config.name == 'repository': |
|
69 # start-repository command already starts a zmq repo |
|
70 return |
|
71 address = config.get('zmq-repository-address') |
|
72 if not address: |
|
73 return |
|
74 self.repo.warning('remote access to the repository via zmq/pickle is deprecated') |
|
75 from cubicweb.server import cwzmq |
|
76 self.repo.zmq_repo_server = server = cwzmq.ZMQRepositoryServer(self.repo) |
|
77 server.connect(address) |
|
78 self.repo.threaded_task(server.run) |
|
79 |
|