Manifest
manifest文件用于將python包定義成odoo的模塊寞忿,并且聲明模塊的元數(shù)據(jù)驰唬,文件名為__ manifest __.py并包含一個(gè)python格式的數(shù)據(jù)字典
{
'name': "A Module",
'version': '1.0',
'depends': ['base'],
'author': "Author Name",
'category': 'Category',
'description': """
Description text
""",
# data files always loaded at installation
'data': [
'mymodule_view.xml',
],
# data files containing optionally loaded demonstration data
'demo': [
'demo_data.xml',
],
}
可用的manifest字段:
name (str, required)
模塊名稱
version (str)
模塊的版本號(hào)
description (str)
模塊的描述
author (str)
模塊作者
website (str)
模塊作者的網(wǎng)站地址
license (str, defaults: LGPL-3)
模塊遵循的發(fā)布協(xié)議,默認(rèn)是LGPL-3
category (str, default: Uncategorized)
在odoo中的分類類目腔彰,官方建議使用已存在的分類叫编,但也可以通過該字段取值實(shí)時(shí)創(chuàng)建,并可用斜杠來劃分等級(jí)如Foo/Bar創(chuàng)建一個(gè)Foo的分類霹抛,再在其下創(chuàng)建一個(gè)bar的分類搓逾,最后會(huì)設(shè)置給該模塊bar分類
depends (list(str))
聲明哪些模塊需要在加載本模塊之間加載,因?yàn)檫@個(gè)模塊用到了其他模塊里的內(nèi)容杯拐。當(dāng)安裝一個(gè)模塊時(shí)霞篡,它所依賴的模塊會(huì)自動(dòng)全部安裝上去世蔗。
data (list(str))
每次加載模塊時(shí)都需要加載的數(shù)據(jù)文件列表,每個(gè)文件名是相對(duì)模塊目錄的路徑
demo (list(str))
只在演示模式下才加載的數(shù)據(jù)文件
auto_install (bool, default: False)
是否自動(dòng)安裝,默認(rèn)是False,設(shè)置為True時(shí)恋拍,只要所依賴的模塊安裝了該模塊會(huì)自動(dòng)安裝陆馁。一般用于協(xié)作模塊如:sale_crm 依賴于sale和crm
odoo系統(tǒng)已存在的分類列表:https://github.com/odoo/odoo/blob/master/odoo/addons/base/module/module_data.xml
運(yùn)行
- -d
database
, --databasedatabase
指定安裝或更新模塊時(shí)使用的數(shù)據(jù)庫 - -i
modules
, --initmodules
以逗號(hào)分隔的需要在服務(wù)端運(yùn)行之前安裝的模塊列表,需指定-d參數(shù) - -u
modules
, --updatemodules
在服務(wù)端運(yùn)行之前需要更新的模塊列表薄嫡,以逗號(hào)分隔 - --addons-path
directories
模塊儲(chǔ)存的文件目錄,以逗號(hào)分隔,運(yùn)行時(shí)會(huì)掃描這些指定的目錄 - --workers
count
默認(rèn)0而昨,如果設(shè)置會(huì)開啟多進(jìn)程并運(yùn)行指定數(shù)量的worker(用于處理http和rpc請(qǐng)求)
下面是一系列用于限制和回收worker的選項(xiàng)
--limit-request
limit
每個(gè)worker在生命周期內(nèi)可處理的最多請(qǐng)求數(shù),默認(rèn)8196--limit-memory-soft
limit
每個(gè)worker允許占用的最大內(nèi)存找田,如果內(nèi)存占用超過了歌憨,在當(dāng)前請(qǐng)求完成后會(huì)被關(guān)閉并回收,默認(rèn)640M--limit-memory-hard
limit
硬性的內(nèi)存約束墩衙,一旦超過直接關(guān)閉不等請(qǐng)求完成务嫡,默認(rèn)768M--limit-time-cpu
limit
限制worker處理每個(gè)請(qǐng)求所占用的cpu秒數(shù),超過則直接關(guān)閉漆改,默認(rèn)60--limit-time-real
limit
限制workder處理請(qǐng)求所使用的時(shí)間心铃,超過直接關(guān)閉,該時(shí)間包含數(shù)據(jù)庫查詢等時(shí)間在內(nèi)挫剑,默認(rèn)120--max-cron-threads
count
專注于計(jì)劃任務(wù)的worker數(shù)量去扣,默認(rèn)是2,在多線程下樊破,worker是線程愉棱;在多進(jìn)程下worker是進(jìn)程,且這個(gè)是與http進(jìn)程數(shù)分開的-c
config
, --configconfig
提供一下可選的配置文件-s, --save 保存服務(wù)器配置文件到當(dāng)前配置文件哲戚,默認(rèn)是HOME/.odoorc,當(dāng)指定-c參數(shù)時(shí)是對(duì)應(yīng)文件
--proxy-mode 開啟X-Forwarded-*頭
--test-enable 當(dāng)安裝模塊后運(yùn)行測(cè)試
--dev
feature,feature,...,feature
參數(shù):
- all - 所有指定特性被激活
- xml - 直接從xml文件讀取qweb模板奔滑,一旦模板在數(shù)據(jù)庫中有修改,它就不會(huì)從xml中讀取了顺少,直接下次更新模塊或重初始化
- reload - 當(dāng)python文件有修改時(shí)自動(dòng)重啟服務(wù)(在用文本編輯器時(shí)可能沒用朋其。。祈纯。)
- qweb - 在解析qweb模板時(shí)令宿,如果一個(gè)節(jié)點(diǎn)有
t-debug='debugger'
,暫停解析 - (i)p(u)db 開啟指定的python調(diào)試器腕窥,當(dāng)碰到錯(cuò)誤時(shí)直接返回
數(shù)據(jù)庫參數(shù)
- -r
<user>
, --db_user<user>
數(shù)據(jù)庫用戶名粒没,用于連接postgresql數(shù)據(jù)庫 - -w
<password>
, --db_password<password>
當(dāng)使用密碼驗(yàn)證模式時(shí)的數(shù)據(jù)庫密碼 - --db_host
<hostname>
數(shù)據(jù)庫的主機(jī)地址 - --db_port
<port>
數(shù)據(jù)庫監(jiān)聽的端口,默認(rèn)5432 - --db-filter
<filter>
隱藏不滿足指定條件的數(shù)據(jù)庫簇爆,filter參數(shù)是一個(gè)正則表達(dá)式癞松,%h表示被請(qǐng)求的主機(jī)名爽撒,%d表示被請(qǐng)求的子域名(www.test.com和test.com都會(huì)匹配到test數(shù)據(jù)庫) - --db-template
<template>
當(dāng)在數(shù)據(jù)庫管理界面創(chuàng)建數(shù)據(jù)庫時(shí),使用指定的模板數(shù)據(jù)庫响蓉,默認(rèn)是template1
內(nèi)置HTTP
- --no-xmlrpc 不開啟http和長(zhǎng)連接worker硕勿,但可能還是會(huì)開啟計(jì)劃任務(wù)worker
- --xmlrpc-interface
<interface>
HTTP服務(wù)器所監(jiān)聽的IP地址,默認(rèn)是0.0.0.0 - --xmlrpc-port
<port>
HTTP服務(wù)器所監(jiān)聽的端口枫甲,默認(rèn)8069 - --longpolling-port
<port>
在多進(jìn)程或gevent模式下長(zhǎng)連接的端口源武,默認(rèn)是8072,在默認(rèn)多線程模式下不可用
日志
默認(rèn)情況下odoo記錄info級(jí)別的日志(工作流只記錄warning)想幻,且日志直接輸出粱栖,可以用選項(xiàng)來指定日志的記錄方式
- --logfile
<file>
將日志輸出保存到指定文件。在unix類系統(tǒng)中文件可以用其他的循環(huán)日志管理程序處理脏毯,當(dāng)文件內(nèi)容被替換時(shí)會(huì)自動(dòng)重新打開 - --logrotate 啟用每天循環(huán)日志記錄闹究,保存30份備份,它的循環(huán)頻率和備份數(shù)量不能修改
- --syslog 記錄到系統(tǒng)日志中
- --log-db
<dbname>
使用ir.logging模型(ir_logging表)記錄到指定數(shù)據(jù)庫中 - --log-handler
<handler-spec>
LOGGER:LEVEL - 指定日志記錄級(jí)別食店,LOGGER省略時(shí)使用默認(rèn)的handler渣淤,LEVEL省略時(shí)會(huì)自動(dòng)用INFO,可以重復(fù)handler來指定多個(gè)
odoo-bin --log-handler :DEBUG --log-handler werkzeug:CRITICAL --log-handler odoo.fields:WARNING
- --log-request 開啟RPC請(qǐng)求的DEBUG日志,相當(dāng)于--log-handler=odoo.http.rpc.request:DEBUG
- --log-response 開啟RPC輸出的DEBUG日志吉嫩,相當(dāng)于--log-handler=odoo.http.rpc.response:DEBUG
- --log-web 開啟HTTP請(qǐng)求和輸出的DEBUG日志价认,相當(dāng)于--log-handler=odoo.http:DEBUG
- --log-sql 開啟數(shù)據(jù)庫查詢的DEBUG日志,相當(dāng)于--log-handler=odoo.sql_db:DEBUG
- --log-level
<level>
設(shè)置多個(gè)logger級(jí)別的簡(jiǎn)便方式率挣,一次將critical, error, warn, debug設(shè)置到odoo和werkzeug logger上
odoo還為多種logger提供debug模式:
1.debug_sql 將sql 記錄級(jí)別設(shè)置為debug刻伊,相當(dāng)于--log-sql
2.debug_rpc 將odoo和http請(qǐng)求設(shè)置為debug級(jí)別露戒,相當(dāng)于--log-level debug --log-request
3.debug_rpc_answer 將odoo和http請(qǐng)求及輸出記錄級(jí)別設(shè)置為debug椒功,相當(dāng)于--log-level debug --log-request --log-response
腳手架
腳手架用于創(chuàng)建模塊的基本結(jié)構(gòu),通過odoo-bin scaffold 命令加下面的參數(shù)來執(zhí)行:
- -t
<template>
模板文件夾智什,經(jīng)過jinja2解釋并復(fù)制到目標(biāo)文件夾 - name 需要?jiǎng)?chuàng)建的模塊名动漾,會(huì)根據(jù)這個(gè)名字去自動(dòng)生成模塊文件夾名之類的
- destination 模塊創(chuàng)建后所存放的文件夾,默認(rèn)當(dāng)前執(zhí)行環(huán)境的文件夾
配置文件
大部分命令行選項(xiàng)可以通過一個(gè)配置文件來指定荠锭,大部分只需將選項(xiàng)名前的-移除旱眯,并將其他的-替換為_,如(--db-template=>db_template)
某些轉(zhuǎn)換比較特別:
- --db-filter => dbfilter
- --no-xmlrpc => xmlrpc(boolean)
- 預(yù)先通過--log-xxx選項(xiàng)設(shè)置的記錄直接被添加到log_handler证九,可直接在配置文件中設(shè)置
- --smtp => smtp_server
- --database => db_name
- --debug => debug_mode (boolean)
- --i18n-import,--i18n-export 在配置文件中無效
默認(rèn)的配置文件是$HOME/.odoorc,可用--config指定愧怜,并可用--save 來保存當(dāng)前配置
譯自odoo官方文檔:http://www.odoo.com/documentation/10.0/reference/module.html呀页,http://www.odoo.com/documentation/10.0/reference/cmdline.html,不當(dāng)之處歡迎批評(píng)指正拥坛。
內(nèi)容發(fā)布自http://www.reibang.com/u/6fdae8ec06bc蓬蝶,轉(zhuǎn)載請(qǐng)注明出處