odoo12 的定时任务

22 篇文章 6 订阅

odoo12 的定时任务
定时任务
Odoo中内置了一个定时任务模型 ir.cron ,它定义了一套 定时、自动执行的规则。
可以通过创建 ir.cron 的模型记录来创建定时任务,一条记录就是一个定时任务。
1、先在业务模型中定义要定时执行的函数。
2、通过data文件,创建一条定时任务记录(往ir.cron模型插入一条记录)

<?xml version="1.0" encoding="UTF-8"?>
<odoo>
    <data noupdate="1">
        <record model="ir.cron" id="ir_cron_update" forcecreate="True">
            <field name="name">定时任务</field>
            <field name="active" eval="True" />
            <field name="user_id" ref="user_root"/>
            <field name="interval_number">1</field>
            <field name="interval_type">hours</field>
            <field name="numbercall">-1</field>
            <field name="doall" eval="True" />
            <field name="model_id" ref="my_first_app.model_myproject"/>
            <field name="state">code</field>
            <field name="code">model.update_()</field>
        </record>
    </data>
</odoo>

字段详解
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一起决定了任务时机到来时,具体调用哪个模型的哪个方法执行。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值