odoo12里定时任务

Posted 1314520xh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了odoo12里定时任务相关的知识,希望对你有一定的参考价值。

以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里定时任务的主要内容,如果未能解决你的问题,请参考以下文章

odoo10学习笔记十六:定时任务

怎么在linux系统里设置延时/定时任务?

Windows Server2012/2018 定时任务设置及执行失败的解决方法

发现mariadb数据库时间晚了12个小时,xxljob定时任务调度异常

java代码启动一个定时任务

定时任务crontab