odoo开发笔记 -- 定时任务(计划的动作)

定时任务, 在某个时间点,执行该方法。

新建一个计划的动作的xml, pay_cron.xml





Account Editabe True
1
months
-1







然后把pay_cron.xml添加到__openrp__.py里面的data声明中。

在py文件中, 构造update_edit_true()该方法。

    def update_edit_true(self, cr, uid, ids=None, context = None):
        print "Update all set is_edit to true"
        all_accounts = self.search(cr, uid, [])
        for account_id in all_accounts:
            account = self.browse(cr, uid, account_id, context)
            self.write(cr, SUPERUSER_ID, account.id, {'is_edit':True})


定时器参数:

转 :https://www.cnblogs.com/ygj0930/p/7154553.html

name:
定时任务名称

user_id:
执行定时任务的用户,不同的用户是有不同权限的,为了保证能有足够权限执行定时任务,一般这里就是base.user_root

interval_number:
任务执行的频次,和interval_type字段一起决定了任务执行的间隔时间,比如这里为interval_number为2,interval_type为minutes,就是任务每2分钟执行一次。

interval_type:
任务执行频次的单位,可选项有: minutes,hours,days,work_days,weeks,months,意思很好理解,work_days是星期几执行。

numbercall:
循环运行的次数,比如你填10,那么任务执行10次后将不再执行,这里-1代表一直执行下去。

doall:
如果在服务器重启期间错过了执行时机,是否再次补充执行。

model:
任务方法所在模块

function:
任务方法,与model一起决定了任务时机到来时,调用哪个方法执行

你可能感兴趣的:(openerp)