zoukankan      html  css  js  c++  java
  • Odoo定时任务(自动任务)

    转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10826270.html 

    一:定时任务模型

        Odoo中内置了一个定时任务模型  ir.cron ,它定义了一套 定时、自动 执行的规则。

        我们可以创建  ir.cron 的模型记录,一条记录就是一个定时任务。

    二:创建定时记录

        1)前置准备:在业务模型中定义要定时执行的函数

            这个就是一般数据模型的函数定义,没什么不同的。

        2)通过data文件,创建一条定时任务记录(往ir.cron模型插入一条记录)

    <record id="ir_cron_scheduler_XXX" model="ir.cron">
                <field name="name"></field>
                <field name="user_id" ref="base.user_root"/>
                <field name="interval_number"></field>
                <field name="interval_type"></field>
                <field name="numbercall"></field>
                <field name="doall" eval="False" />
                <field name="model" eval="要定时运行的函数所在模型名"/>
                <field name="function" eval="'要定时执行的函数名'" />
    </record>

            字段详解:

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

  • 相关阅读:
    路由器设置无线网的方法
    numpy, pandas, matplotlib等常用库的学习手册
    文本乱码的解决办法
    漫画:SOA中怎样确定服务的粒度?
    漫画:大公司都在重复造轮子吗?
    演讲稿:新人培养之道
    漫画:全面理解java.lang.IllegalArgumentException及其可用性设计
    漫画:性能、可用性和锁
    漫画:Linux中/etc/resolv.conf文件和puppet工具解析
    《两地书》--Kubernetes(K8s)基础知识(docker容器技术)
  • 原文地址:https://www.cnblogs.com/ygj0930/p/10826270.html
Copyright © 2011-2022 走看看