Odoo Aide


1 Answer

Olivier Dony (odo)

--Olivier Dony (odo)--

| 8 6 18
Ramilies, Belgique
--Olivier Dony (odo)--


Olivier Dony (odo)
22/02/2013 06:25

The built-in multiprocess mode is new in v7, and mostly replaces the previous gunicorn-based multiprocess mode of v6.1. It has the same kind of features as v6.1's gunicorn settings, as shown by openerp-server --help:

$ ./openerp-server --help

Usage: openerp-server [options]

  --version             show program's version number and exit
  -h, --help            show this help message and exit


  Multiprocessing options:
    --workers=WORKERS   Specify the number of workers, 0 disable prefork mode.
                        Maximum allowed virtual memory per worker, when
                        reached the worker be reset after the current request
                        (default 671088640 aka 640MB).
                        Maximum allowed virtual memory per worker, when
                        reached, any memory allocation will fail (default
                        805306368 aka 768MB).
                        Maximum allowed CPU time per request (default 60).
                        Maximum allowed Real time per request (default 120).
                        Maximum number of request to be processed per worker
                        (default 8192).

This new built-in multi-process HTTP Server (nicknamed MultiCorn - pun on Unicorn intended) makes deployment easier while reusing the same design principles as Gunicorn: a WSGI-compliant HTTP server with pre-forked worker processes.

It adds a few niceties on top of what was already possible with Gunicorn in v6.1, such as:

  • No need to run and manage separately another OpenERP process for executing background OpenERP jobs (ir.cron). MultiCorn spawns a dedicated CronWorker automatically (controlled by --max-cron-threads)
  • The WSGI entry point is now openerp.service.wsgi_server.application (it was openerp.wsgi.application in v6.1), but v7.0 has a new openerp-wsgi.py startup script to make deploying in WSGI containers easier

All the ideas behind the introduction of the multi-process mode in v6.1 still apply.

Altınkaya Elektronik Cihaz Kutuları imalat Ticaret ltd sti, Ahmet Altinisik
22/02/2013 07:22

So no need to run gunicorn in V7.0 ?

Olivier Dony (odo)
22/02/2013 07:43

@Ahmet: You can still run OpenERP 7.0 with Gunicorn if you like, but it's definitely redundant with the built-in --workers option, and you'll have to adapt the wgsi entry point etc. as they changed since v6.1.

Altınkaya Elektronik Cihaz Kutuları imalat Ticaret ltd sti, Ahmet Altinisik
22/02/2013 08:42

What is the default value for --workers and what is the recommended value for --workers (like 2*core+1), can I also add a line in conf file like workers=4 to define it?

Henri-Maxime Ducoulombier
27/11/2013 16:12

I'd definitly love an answer to Ahmet Altınışık questions actually. Anyone ?

Billy Watt
28/11/2013 12:54

Yes, I'd like some clues as to the syntax of these options as well. If I just put a couple of lines with worker=8 and limit-time-cpu=300 they appear to have no effect

Olivier Dony (odo)
28/11/2013 13:24

The recommended --workers value is 2*cores+1, as with gunicorn. You can put it in the config file too, e.g workers=5, haven't you tried that? The same goes with the various --limit-* options, e.g. limit_cpu_time=1200 to limit requests to 20 minutes. The limits apply only when workers > 0

Billy Watt
29/11/2013 05:36

I see where my problem was. Where it says limit-time-cpu it actually means limit_time_cpu. Surprised I didn't work that one out myself....... Thanks for your help

Poser une question
Keep Informed
1 Abonné(e)s
About This Community

This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.