equal
deleted
inserted
replaced
26 |
26 |
27 # import packages |
27 # import packages |
28 from pyams_scheduler.process import SchedulerProcess, SchedulerMessageHandler |
28 from pyams_scheduler.process import SchedulerProcess, SchedulerMessageHandler |
29 from pyams_utils.zodb import get_connection_from_settings |
29 from pyams_utils.zodb import get_connection_from_settings |
30 from pyams_zmq.process import process_exit_func |
30 from pyams_zmq.process import process_exit_func |
|
31 from zmq.error import ZMQError |
31 |
32 |
32 |
33 |
33 def include_package(config): |
34 def include_package(config): |
34 """Pyramid package include""" |
35 """Pyramid package include""" |
35 |
36 |
73 name=task.name, |
74 name=task.name, |
74 kwargs={'zeo_settings': zeo_connection.get_settings(), |
75 kwargs={'zeo_settings': zeo_connection.get_settings(), |
75 'registry': config.registry}) |
76 'registry': config.registry}) |
76 logger.debug("Starting tasks scheduler {0!r}".format(process)) |
77 logger.debug("Starting tasks scheduler {0!r}".format(process)) |
77 # start process |
78 # start process |
78 process.start() |
79 try: |
79 if process.is_alive(): |
80 process.start() |
80 atexit.register(process_exit_func, process=process) |
81 except ZMQError: |
|
82 process.join() |
|
83 else: |
|
84 if process.is_alive(): |
|
85 atexit.register(process_exit_func, process=process) |