浏览代码

Start daemon at environment_loaded step

Bastien Sevajol (Algoo) 9 年前
父节点
当前提交
ced4d4f6be
共有 3 个文件被更改,包括 15 次插入4 次删除
  1. 14 0
      tracim/tracim/config/app_cfg.py
  2. 0 2
      tracim/tracim/config/middleware.py
  3. 1 2
      tracim/tracim/lib/daemons.py

+ 14 - 0
tracim/tracim/config/app_cfg.py 查看文件

15
 
15
 
16
 import tg
16
 import tg
17
 from paste.deploy.converters import asbool
17
 from paste.deploy.converters import asbool
18
+from tg.configuration.milestones import environment_loaded
18
 
19
 
19
 from tgext.pluggable import plug
20
 from tgext.pluggable import plug
20
 from tgext.pluggable import replace_template
21
 from tgext.pluggable import replace_template
27
 from tracim.lib import app_globals, helpers
28
 from tracim.lib import app_globals, helpers
28
 from tracim.lib.auth.wrapper import AuthConfigWrapper
29
 from tracim.lib.auth.wrapper import AuthConfigWrapper
29
 from tracim.lib.base import logger
30
 from tracim.lib.base import logger
31
+from tracim.lib.daemons import DaemonsManager
32
+from tracim.lib.daemons import RadicaleDaemon
30
 from tracim.model.data import ActionDescription
33
 from tracim.model.data import ActionDescription
31
 from tracim.model.data import ContentType
34
 from tracim.model.data import ContentType
32
 
35
 
83
 replace_template(base_config, 'resetpassword.templates.index', 'tracim.templates.reset_password_index')
86
 replace_template(base_config, 'resetpassword.templates.index', 'tracim.templates.reset_password_index')
84
 replace_template(base_config, 'resetpassword.templates.change_password', 'mako:tracim.templates.reset_password_change_password')
87
 replace_template(base_config, 'resetpassword.templates.change_password', 'mako:tracim.templates.reset_password_change_password')
85
 
88
 
89
+daemons = DaemonsManager()
90
+
91
+
92
+def start_daemons(manager: DaemonsManager):
93
+    """
94
+    Sart Tracim daemons
95
+    """
96
+    manager.run('radicale', RadicaleDaemon)
97
+
98
+environment_loaded.register(lambda: start_daemons(daemons))
99
+
86
 # Note: here are fake translatable strings that allow to translate messages for reset password email content
100
 # Note: here are fake translatable strings that allow to translate messages for reset password email content
87
 duplicated_email_subject = l_('Password reset request')
101
 duplicated_email_subject = l_('Password reset request')
88
 duplicated_email_body = l_('''
102
 duplicated_email_body = l_('''

+ 0 - 2
tracim/tracim/config/middleware.py 查看文件

36
     app = make_base_app(global_conf, full_stack=True, **app_conf)
36
     app = make_base_app(global_conf, full_stack=True, **app_conf)
37
     
37
     
38
     # Wrap your base TurboGears 2 application with custom middleware here
38
     # Wrap your base TurboGears 2 application with custom middleware here
39
-    daemons = DaemonsManager(app)
40
-    daemons.run('radicale', RadicaleDaemon)
41
 
39
 
42
     return app
40
     return app

+ 1 - 2
tracim/tracim/lib/daemons.py 查看文件

16
 
16
 
17
 
17
 
18
 class DaemonsManager(object):
18
 class DaemonsManager(object):
19
-    def __init__(self, app: TGApp):
20
-        self._app = app
19
+    def __init__(self):
21
         self._running_daemons = {}
20
         self._running_daemons = {}
22
         add_signal_handler(signal.SIGTERM, self.stop_all)
21
         add_signal_handler(signal.SIGTERM, self.stop_all)
23
         add_signal_handler(signal.SIGINT, self.stop_all)
22
         add_signal_handler(signal.SIGINT, self.stop_all)