odoo中內建了乙個定時任務模型 ir.cron ,它定義了一套 定時、自動 執行的規則。
我們可以建立 ir.cron 的模型記錄,一條記錄就是乙個定時任務。
1)前置準備:在業務模型中定義要定時執行的函式
這個就是一般資料模型的函式定義,沒什麼不同的。
2)通過data檔案,建立一條定時任務記錄(往ir.cron模型插入一條記錄)
字段詳解:
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一起決定了任務時機到來時,具體呼叫哪個模型的哪個方法執行。
odoo學習筆記十六 定時任務
一 定義定時器資料模型 模型中定義需要用到的字段 定時方法 from odoo import models,fields,api,exceptions import logging from datetime import datetime logger logging.getlogger name...
linux定時任務 at定時任務
at命令是一次性定時計畫任務,at的守護程序atd會以後臺模式執行,檢查作業佇列來執行作業。atd守護程序會檢查系統上的乙個特殊目錄來獲取at命令的提交的作業,預設情況下,atd守護程序每60秒檢查一次目錄,有作業時,會檢查作業執行時間,如果時間與當前時間匹配,則執行此作業。注意 at命令是一次性定...
非同步任務 定時任務
一 在主程式開啟非同步註解功能 enableasync enableasync 開啟非同步註解功能 public class 二 標明非同步類 asyns service async 表注該類為非同步類 public class asynservice catch interruptedexcept...