def init_workers(self, tornado_app):
"""
For Tornado's application *tornado_app* create workers instances
and add them into list of the management command processes.
"""
interface = tornado_app.settings['interface']
name, processes, host, port = (
interface.name, interface.processes,
interface.host, interface.port)
if processes <= 0:
processes = tornado.process.cpu_count()
self.logger.info(
"Init %d worker(s) for interface '%s' (%s:%d)",
processes, name, host, port)
sockets = tornado.netutil.bind_sockets(port, host)
for dummy_i in six.moves.range(processes):
self.workers.append(
Worker(
name=name, factory=get_worker_instance,
args=(tornado_app, sockets, self.pid)
)
)
评论列表
文章目录