odoo12 日历模块_Odoo12实现定时任务

在ERP实施过程中,定时自动执行一些数据处理任务是非常有必要的,比如每月初将上月某些数据设置为过期,可以大量减少人工工作量。

在Odoo中提供了非常简洁的定时任务实现方式,不过每一代的Odoo版本中代码略有不同,此处以odoo12为例:

1. 定义定时任务属性

自动提交资金计划

code

model.submit_amount_plan()

1

days

-1

上文便定义了一个简单的每天执行的定时任务。其中主要参数说明如下:

name:

定时任务名称

user_id:

执行定时任务的用户,不同的用户是有不同权限的,为了保证能有足够权限执行定时任务,一般这里就是base.user_root

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_id:

任务方法所在模型,"model_"加上模型名

code:

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

2. 在python中定义要定时执行的python代码

在相应模型的代码中定义相应的python方法,如下:def submit_amount_plan(self):

lines = self.env['amount_plan'].search([])

for r in lines:

r.write({'state':'20'})

这个任务主要作用是定时将指定模型中的数据全部查找出来,并对其中字段值进行修改。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值