[FIX] force suppression of pidfile at exit of openerp.
[IMP] only write/delete pidfile in non-evented mode [FIX] check if evented mode before checking in worker mode when starting server service bzr revid: chs@openerp.com-20140404154658-6x5rxyq12guej43q
This commit is contained in:
parent
72e7a75eae
commit
4335ff0712
|
@ -29,6 +29,7 @@ GNU Public Licence.
|
|||
(c) 2003-TODAY, Fabien Pinckaers - OpenERP SA
|
||||
"""
|
||||
|
||||
import atexit
|
||||
import logging
|
||||
import os
|
||||
import signal
|
||||
|
@ -78,16 +79,22 @@ def report_configuration():
|
|||
('database user', config['db_user'])]:
|
||||
_logger.info("%s: %s", name, value)
|
||||
|
||||
def rm_pid_file():
|
||||
config = openerp.tools.config
|
||||
if not openerp.evented and os.path.exists(config['pidfile']):
|
||||
os.unlink(config['pidfile'])
|
||||
|
||||
def setup_pid_file():
|
||||
""" Create a file with the process id written in it.
|
||||
|
||||
This function assumes the configuration has been initialized.
|
||||
"""
|
||||
config = openerp.tools.config
|
||||
if config['pidfile']:
|
||||
if not openerp.evented and config['pidfile']:
|
||||
with open(config['pidfile'], 'w') as fd:
|
||||
pidtext = "%d" % (os.getpid())
|
||||
fd.write(pidtext)
|
||||
atexit.register(rm_pid_file)
|
||||
|
||||
def preload_registry(dbname):
|
||||
""" Preload a registry, and start the cron."""
|
||||
|
@ -189,14 +196,9 @@ def main(args):
|
|||
if not config["stop_after_init"]:
|
||||
setup_pid_file()
|
||||
openerp.service.server.start()
|
||||
if config['pidfile']:
|
||||
os.unlink(config['pidfile'])
|
||||
else:
|
||||
sys.exit(rc)
|
||||
|
||||
_logger.info('OpenERP server is running, waiting for connections...')
|
||||
quit_on_signals()
|
||||
|
||||
class Server(Command):
|
||||
def run(self, args):
|
||||
main(args)
|
||||
|
|
|
@ -429,7 +429,7 @@ class PreforkServer(CommonServer):
|
|||
sys.exit(0)
|
||||
|
||||
def long_polling_spawn(self):
|
||||
nargs = stripped_sys_argv('--pidfile','--workers')
|
||||
nargs = stripped_sys_argv()
|
||||
cmd = nargs[0]
|
||||
cmd = os.path.join(os.path.dirname(cmd), "openerp-gevent")
|
||||
nargs[0] = cmd
|
||||
|
@ -814,10 +814,10 @@ def start():
|
|||
"""
|
||||
global server
|
||||
load_server_wide_modules()
|
||||
if config['workers']:
|
||||
server = PreforkServer(openerp.service.wsgi_server.application)
|
||||
elif openerp.evented:
|
||||
if openerp.evented:
|
||||
server = GeventServer(openerp.service.wsgi_server.application)
|
||||
elif config['workers']:
|
||||
server = PreforkServer(openerp.service.wsgi_server.application)
|
||||
else:
|
||||
server = ThreadedServer(openerp.service.wsgi_server.application)
|
||||
|
||||
|
|
Loading…
Reference in New Issue