Setup Odoo IM Live Chat di Multi Processing

tanpa setting ini, IM livechat nggak jalan

Kalau Odoo dijalankan dengan mode multi proses (ie workers lebih dari 0) maka aplikasi IM Live chat tidak bisa langsung jalan. Kalau pun jalan, message tidak realtime terkirimkan (harus refresh browser dulu).

Ini karena IM live chat jalan di port longpolling (default nya 8072) dan harus dilakukan proxy redirection untuk semua request yang diawali dengan /longpolling pada port 8072.

Solusinya, kalau pakai multiproses, harus jalankan juga system reverse proxy, bisa pakai Nginx atau Apache. Contoh kasus dibawah ini pakai Nginx.

Jadi, pertama harus install dulu nginx.

# sudo apt-get install nginx

Lalu buat config situs odoo di nginx:

upstream odoo {
  server 127.0.0.1:9069 weight=1 fail_timeout=0;
}
upstream odoo-im {  server 127.0.0.1:8072 weight=1 fail_timeout=0; }

server {  listen 8069;  server_name myserver.com; 
 # increase proxy buffer to handle some OpenERP web requests  proxy_buffers 16 64k;  proxy_buffer_size 128k;  # general proxy settings  # force timeouts if the backend dies  proxy_connect_timeout 600s;  proxy_send_timeout 600s;  proxy_read_timeout 600s;  proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;
 # set headers  proxy_set_header Host $host;  proxy_set_header X-Real-IP $remote_addr;  proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;  proxy_set_header X-Forwarded-Proto http;  # by default do not forward anything  proxy_redirect off;  proxy_buffering off;
 location / {   proxy_pass http://odoo;
 }
 location /longpolling {  proxy_pass http://odoo-im;  }
}

Contoh di atas, kita tidak pakai HTTPS. Nginx bisa sekalian kita gunakan agar odoo diakses lewat HTTPS.

Kita gunakan port default odoo 8069 di nginx supaya secara client tetap pakai port 8069 (nggak tau bahwa sebenarnya dia lewat nginx dulu).

Simpan di file:

/etc/nginx/sites-available/odoo

Masuk ke folder /etc/nginx/sites-enabled dan buat link ke file odoo config supaya enable situsnya

# cd /etc/nginx/sites-enabled
# ln –s ../sites-available/odoo .

Edit file /etc/odoo-server.conf, ganti port default Odoo ke 9069 misalnya, tambahi mode proxy_mode=True dan setting untuk multiproses...

[options]
admin_passwd = yourpasswd
db_host = 192.168.28.99
db_port = False
db_user = odoo
db_password = yourdbpasswd
db_template = template1
addons_path = /opt/odoo/addons
logfile = /var/log/odoo/odoo-server.log
db_maxconn=1000

; multi processing IM
xmlrpc_port = 9069
longpolling_port=8072
proxy_mode=True
workers = 7
limit_memory_hard = 1677721600
limit_memory_soft = 629145600
limit_request = 8192
limit_time_cpu = 600
limit_time_real = 1200
max_cron_threads = 2



Materi ini is part of Odoo Advanced Training yang dibuka oleh vitraining.com Klik vitraining.com untuk jaldwa training selengkapnya.