odoo12:定时器任务
 

设置--技术-自动化-安排的动作 

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

 

代码如下:

<record id="ir_cron_scheduler_action" model="ir.cron">
<field name="name">定时器</field>
<field name="model_id" ref="model_positions"/>
<field name="state">code</field>
<field name="code">model.check_valid_positions()</field>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="numbercall">-1</field>
<field eval="False" name="doall"/>

</record>

 

 


让我们来分析下定时任务定义的代码,这里的ir.cron模块就是odoo为所有定时任务而专门准备的模型。换句话说往这个表里添加一行数据就是添加了一个定时任务。

name:
定时任务名称

model_id:
一般命名为:model加模块名

interval_number:
任务执行的频次,和interval_type字段一起决定了任务执行的间隔时间,比如这里为interval_number为2,interval_type为minutes,就是任务每2分钟执行一次。

interval_type:
任务执行频次的单位,可选项有: minutes,hours,days,work_days,weeks,months,意思很好理解,work_days是星期几执行。

numbercall:
循环运行的次数,比如你填10,那么任务执行10次后将不再执行,这里-1代表一直执行下去。

doall:
如果在服务器重启期间错过了执行时机,是否再次补充执行。

model:
任务方法所在模块

function:
任务方法,与model一起决定了任务时机到来时,调用哪个方法执行。

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄