Odoo定時任務(自動任務)


一、在界面中如何配置odoo定時任務

在設置--》技術--》自動化--》安排的動作 目錄下進行相應的配置

二、定時任務模型

   Odoo中內置了一個定時任務模型  ir.cron ,它定義了一套 定時、自動 執行的規則。

    我們可以創建  ir.cron 的模型記錄,一條記錄就是一個定時任務。

三、創建定時記錄

    1)前置准備:在業務模型中定義要定時執行的函數

        這個就是一般數據模型的函數定義,沒什么不同的。

    2)通過data文件,創建一條定時任務記錄(往ir.cron模型插入一條記錄)

<record id="ir_cron_scheduler_XXX" model="ir.cron">
            <field name="name"></field>
            <field name="user_id" ref="base.user_root"/>
            <field name="interval_number"></field>
            <field name="interval_type"></field>
            <field name="numbercall"></field>
            <field name="doall" eval="False" />
            <field name="model" eval="要定時運行的函數所在模型名"/>
            <field name="function" eval="'要定時執行的函數名'" />
</record>

 

        字段詳解:

    1)name

    定時任務名稱.

    2)user_id

    執行定時任務的用戶,不同的用戶是有不同權限的,為了保證能有足夠權限執行定時任務,一般這里就是base.user_root

    3)interval_number

    任務執行的頻次,和interval_type字段一起決定了任務執行的間隔時間,比如interval_number為2,interval_type為minutes,就是任務每2分鍾執行一次。

    4)interval_type

    任務執行頻次的單位,可選項有: minutes,hours,days,work_days,weeks,months,意思很好理解,work_days是星期幾執行。

    5)numbercall

    循環運行的次數,比如你填10,那么任務執行10次后將不再執行,這里-1代表一直執行下去。

    6)doall

    如果在服務器重啟期間錯過了執行時機,是否再次補充執行

    7)model

    任務方法所在模型。

    8)function

    任務方法,與model一起決定了任務時機到來時,具體調用哪個模型的哪個方法執行。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM