remove the worker id. just use pid as ref.

This commit is contained in:
benoitc 2010-03-01 09:11:39 +01:00
parent 6deeeecc80
commit 5f11fd024b
3 changed files with 8 additions and 13 deletions

View File

@ -400,14 +400,10 @@ class Arbiter(object):
This is where a worker process leaves the main loop
of the master process.
"""
workers = set(w.id for w in self.WORKERS.values())
for i in range(self.num_workers):
if i in workers:
continue
for i in range(self.num_workers - len(self.WORKERS.keys())):
self.worker_age += 1
worker = Worker(i, self.worker_age, self.pid,
self.LISTENER, self.app,
worker = Worker(self.worker_age, self.pid, self.LISTENER, self.app,
self.timeout/2.0, self.conf)
self.conf.before_fork(self, worker)
pid = os.fork()
@ -420,7 +416,7 @@ class Arbiter(object):
try:
util._setproctitle("worker [%s]" % self.proc_name)
self.log.debug("Booting worker: %s (age: %s)" % (
i, self.worker_age))
worker_pid, self.worker_age))
self.conf.after_fork(self, worker)
worker.run()
sys.exit(0)
@ -430,7 +426,7 @@ class Arbiter(object):
self.log.exception("Exception in worker process.")
sys.exit(-1)
finally:
self.log.info("Worker exiting: %s (pid: %s)" % (i, worker_pid))
self.log.info("Worker exiting (pid: %s)" % worker_pid)
try:
worker.tmp.close()
os.unlink(worker.tmpname)

View File

@ -27,7 +27,7 @@ class Config(object):
group=None,
after_fork=lambda server, worker: server.log.info(
"Worker spawned: %s (pid: %s)" % (worker.id, worker.pid)),
"Worker spawned (pid: %s)" % worker.pid),
before_fork=lambda server, worker: True,

View File

@ -27,9 +27,8 @@ class Worker(object):
PIPE = []
def __init__(self, workerid, age, ppid, socket, app, timeout, conf):
def __init__(self, age, ppid, socket, app, timeout, conf):
self.nr = 0
self.id = workerid
self.age = age
self.ppid = ppid
self.debug = conf['debug']
@ -46,7 +45,7 @@ class Worker(object):
self.address = self.socket.getsockname()
def __str__(self):
return "<Worker %s>" % self.id
return "<Worker %s>" % os.getpid()
@property
def pid(self):