码迷,mamicode.com
首页 > 其他好文 > 详细

odoo12里定时任务

时间:2019-11-16 21:53:16      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:day   number   链接   one   eva   sel   interval   line   执行   

以odoo12为例:

1. 定义定时任务属性

<record id="ir_cron_submit_auto_action" model="ir.cron">

            <field name="name">自动动作</field>

            <field name="model_id" ref="model_sale_order"/>

            <field name="state">code</field>

            <field name="code">model.submit_auto_action()</field>    #任务方法,与mode_id一起决定了任务时机到来时,调用哪个方法执行。

            <field name="interval_number">1</field>                          #任务执行的频次,和interval_type字段一起决定了任务执行的间隔时间

            <field name="interval_type">days</field>

            <field name="numbercall">-1</field>                               #(numbercall:循环运行的次数,比如你填10,那么任务执行10次后将不再执行,这里-1代表一直执行下去。)

            <field eval="True" name="doall"/>                                  #如果在服务器重启期间错过了执行时机,是否再次补充执行。

            <field name="user_id" ref="base.user_root"/>                 #执行定时任务的用户,不同的用户是有不同权限的,为了保证能有足够权限执行定时任务,一般这里就是base.user_root

        </record>

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

在相应模型的代码中定义相应的python方法,如下:

def submit_auto_action(self):

        lines = self.env[‘sale.order‘].search([])

        for r in lines:

            r.write({‘state‘:‘done‘})


感谢原文参考链接:https://www.jianshu.com/p/76aa22c98476

odoo12里定时任务

标签:day   number   链接   one   eva   sel   interval   line   执行   

原文地址:https://www.cnblogs.com/1314520xh/p/11873913.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!