2016-03-10 38 views
1

工人的目的是什麼?這些工作人員是多線程還是其他人?當Odoo實例開始我看到至少有6名工人在命令行通知:Odoo的工作人員是什麼?

2016-03-10 13:55:09,602 15504 INFO ? openerp.service.server: Worker WorkerHTTP (15504) alive 
2016-03-10 13:55:09,606 15503 INFO ? openerp.service.server: Worker WorkerHTTP (15503) alive 
2016-03-10 13:55:09,625 15507 INFO ? openerp.service.server: Worker WorkerCron (15507) alive 
2016-03-10 13:55:09,628 15506 INFO ? openerp.service.server: Worker WorkerCron (15506) alive 
2016-03-10 13:55:09,629 15508 INFO ? openerp.service.server: Worker WorkerCron (15508) alive 
2016-03-10 13:55:09,629 15509 INFO ? openerp.service.server: Worker WorkerCron (15509) alive 

,是什麼WorkerHTTPWorkerCron之間的區別?老實說,我不知道他們做了什麼。

+0

訪問此鏈接S://github.com/DocCyblade/tkl-odoo/blob/master/overlay/etc/odoo/openerp-server.conf#L395 – prakash

+0

@prakash鏈接已死亡。 – vildhjarta

回答

6

它的Odoo文檔here

Odoo包括內置的HTTP服務器中說明,即使用多線程或 多處理。

供生產使用,建議使用多道 服務器,因爲它提高了穩定性,使有些更好地利用 計算資源,並可以更好地監測和 資源限制性。選項:

多重通過配置啓用a non-zero number of worker processes <odoo.py --workers>,工人的數量應 基於內核的機器數量(可能取決於有多少的cron作業,預計一些 空間的cron工人) 工人限制可以被配置成基於硬件配置 避免資源枯竭警告

注:多重模式目前並不適用於Windows

工人和如何數來配置它

您應該使用2個輔助線程+ 1個的cron每線程可用的CPU,以及每10個concurent用戶1個CPU。確保您調整配置文件中的內存限制和cpu限制。

workers = --workers <count> 

如果計數不爲0(默認值),使多處理並建立HTTP工人的指定號碼(子過程處理HTTP和RPC請求)。

有很多選項,允許限制和循環的競爭工人:

--limit-request <limit> 

請求被回收並重新啓動前,工作人員會處理的數量。默認爲8196.

--limit-memory-soft <limit> 

每個工作者允許的最大虛擬內存。如果超出限制,則在當前請求結束時,工人將被殺死並回收。默認爲640MB。

--limit-memory-hard <limit> 

對虛擬內存的硬性限制,任何超過限制的worker都會立即被殺死,而不會等待當前的請求處理結束。默認爲768MB。

--limit-time-cpu <limit> 

防止工作人員對每個請求使用超過CPU秒數。如果超出限制,工人就會死亡。默認爲60。

--limit-time-real <limit> 

防止工作者花費比秒鐘更長的時間來處理請求。如果超出限制,工人就會死亡。默認爲120.

--limit-time-cpu的不同之處在於,這是一個「掛鐘時間」限制,包括例如, SQL查詢。

--max-cron-threads <count> 

致力於cron工作的工人數量。默認爲2.工作人員是多線程模式下的線程,以及多處理模式下的進程。

對於多處理模式,這是對HTTP工作進程的補充。

More info about Deployment Architecture, with some diagram.

More information about the configuration file