odoo定时任务

时间:2023-03-09 23:13:04
odoo定时任务

python代码

# -*- encoding: utf-8 -*-

from openerp.osv import fields, osv, orm
import logging _logger = logging.getLogger(__name__) class auto_checkorder(osv.Model):
_name = 'auto.checkorder' _columns = {
}
_defaults = {
} def checkorder(self, cr, user, context={}):
print 11111111

xml代码

<?xml version="1.0" ?>
<openerp>
<data noupdate="1">
<record id="ir_cron_backupscheduler0" model="ir.cron">
<field eval="&quot;&quot;&quot;checkorder&quot;&quot;&quot;" name="function"/>
<field eval="&quot;&quot;&quot;minutes&quot;&quot;&quot;" name="interval_type"/>
<field name="user_id" ref="base.user_root"/>
<field eval="&quot;&quot;&quot;Check Orders&quot;&quot;&quot;" name="name"/>
<field eval="-1" name="numbercall"/>
<field eval="&quot;&quot;&quot;2010-01-07 11:35:28&quot;&quot;&quot;" name="nextcall"/>
<field eval="5" name="priority"/>
<field eval="0" name="doall"/>
<field eval="True" name="active"/>
<field eval="1" name="interval_number"/>
<field eval="&quot;&quot;&quot;auto.checkorder&quot;&quot;&quot;" name="model"/>
</record>
</data>
</openerp>
  • name 即该task的名称,由用户定义为该task主要的职责
  • user_id 对应res_users表,需要一个用户ID
  • active 是否激活该task,默认为True
  • interval_number 间隔时间,类型为integer
  • interval_type 执行task的周期类型,只能选择分钟、小时、天、周、月,可惜没有秒。
  • numbercall 方法调用多少次,-1则是没有限制
  • doall 如果任务执行时间错过了服务器重启时间是否重新执行任务
  • nextcall 下次的调用时间,我们不用配置,oe会自动计算
  • model 即模块名称
  • function 要执行的方法
  • args 传递的参数
  • priority 任务优先级别 0是*别,10是最低级别