~credativ/openobject-server/trunk-csv-import-domain

« back to all changes in this revision

Viewing changes to openerp/service/server.py

  • Committer: Christophe Simonis
  • Date: 2014-04-22 14:46:51 UTC
  • mfrom: (5189.1.7 saas-4)
  • Revision ID: chs@openerp.com-20140422144651-840zze7p5549k88s
[MERGE] forward port of branch saas-4 up to revid 5196 chs@openerp.com-20140422123533-b6lcm76ydf8vpw9u

Show diffs side-by-side

added added

removed removed

Lines of Context:
280
280
        t.start()
281
281
        _logger.info('HTTP service (werkzeug) running on %s:%s', self.interface, self.port)
282
282
 
283
 
    def start(self):
 
283
    def start(self, stop=False):
284
284
        _logger.debug("Setting signal handlers")
285
285
        if os.name == 'posix':
286
286
            signal.signal(signal.SIGINT, self.signal_handler)
291
291
        elif os.name == 'nt':
292
292
            import win32api
293
293
            win32api.SetConsoleCtrlHandler(lambda sig: self.signal_handler(sig, None), 1)
294
 
        self.cron_spawn()
295
 
        self.http_spawn()
 
294
 
 
295
        test_mode = config['test_enable'] or config['test_file']
 
296
        if not stop or test_mode:
 
297
            # some tests need the http deamon to be available...
 
298
            self.http_spawn()
 
299
 
 
300
        if not stop:
 
301
            # only relevant if we are not in "--stop-after-init" mode
 
302
            self.cron_spawn()
296
303
 
297
304
    def stop(self):
298
305
        """ Shutdown the WSGI server. Wait for non deamon threads.
329
336
        The first SIGINT or SIGTERM signal will initiate a graceful shutdown while
330
337
        a second one if any will force an immediate exit.
331
338
        """
332
 
        self.start()
 
339
        self.start(stop=stop)
333
340
 
334
341
        rc = preload_registries(preload)
335
342
 
552
559
                raise
553
560
 
554
561
    def start(self):
555
 
        # Empty the cursor pool, we dont want them to be shared among forked workers.
556
 
        openerp.sql_db.close_all()
557
562
        # wakeup pipe, python doesnt throw EINTR when a syscall is interrupted
558
563
        # by a signal simulating a pseudo SA_RESTART. We write to a pipe in the
559
564
        # signal handler to overcome this behaviour
602
607
            self.stop()
603
608
            return rc
604
609
 
 
610
        # Empty the cursor pool, we dont want them to be shared among forked workers.
 
611
        openerp.sql_db.close_all()
 
612
 
605
613
        _logger.debug("Multiprocess starting")
606
614
        while 1:
607
615
            try: