odoo15设置定时任务

概念

主要是 ir.cron模型,它有以下属性

  • ir_actions_server_id:服务端动作
  • cron_name:任务名称
  • user_id:调度程序用户,默认是当前环境用户
  • active:默认True
  • interval_number:任务执行的频次
  • interval_type:任务执行频次的单位,有:days、hours、minutes、weeks、months
  • numbercall:循环运行的次数,-1表示一直执行下去
  • doall:表示服务器重启期间错过了执行时机,是否再次补充执行
  • nextcall:下次执行调用时间
  • lastcall:最后一次执行时间
  • priority:作业的优先级,0优先级高,10低

应用

在模块的data文件夹下创建一个cron_res.xml的文件
代码如下:

<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <record id="res_ptn_demo" model="ir.cron">
        <field name="name">async model res</field>
        <field name="model_id" ref="model_my_res_ptn"/>
        <field name="state">code</field>
        <field name="code">model._async_model_res()</field>
        <field name='interval_number'>3</field>
        <field name='interval_type'>minutes</field>
        <field name="numbercall">-1</field>
    </record>
</odoo>

以上需要注意:

  • mode_id: 指明任务方法所在模型,值为model_模型名
  • code:指明任务方法名,值为model.方法名

以上模块初始化后,会在数据库的 ir.cron中生成一条记录,只要程序不中断,就会一直定时执行设置的任务

猜你喜欢

转载自blog.csdn.net/weixin_44141284/article/details/132336233