Odoo 15 Scheduler 无法自动运行,甚至单击手动运行也无法运行

问题描述 投票:0回答:1

我在 Odoo 15 中运行调度程序时遇到问题。

我有一个像这样的Python函数,用于发送消息到聊天:

def action_send_notification(self):
    today_date = datetime.today()
    for i in self:
        if i.search([('date_end','<',today_date)]):
            message = "STR has been expired"
            recipient1 = i.employee_id.user_id.partner_id.id
            recipient2 = i.env['res.users'].sudo().search([('name', 'ilike', 'admin')])                              
            channel = i.env['mail.channel'].channel_get([recipient1])
            channel_id = i.env['mail.channel'].browse(channel["id"])
            channel_id.message_post(    
               body=message,
               message_type='comment',
               subtype_xmlid='mail.mt_comment',)            

对于 cron XML,这里是:

<record id="STR_notif_expiration_scheduler" model="ir.cron">
    <field name="name">STR Notif Expiration</field>
    <field name="user_id" ref="base.user_root" />
    <field name="interval_number">1</field>
    <field name="interval_type">minutes</field>
    <field name="numbercall">-1</field>
    <field name="doall">0</field>
    <field name="model_id" ref="model_hr_str"/>
    <field name="code">model.action_send_notification()</field>
    <field name="priority">5</field>
</record>

当我通过单击“手动运行”来运行时,它不起作用。
它也不会自动运行。

但是当我尝试通过自定义按钮运行 python 函数时,它正在工作。

我的期望是调度程序可以通过手动运行甚至自动运行。

python cron scheduler odoo-15
1个回答
0
投票

尝试在方法上使用@api.model装饰器。还要添加“代码”。应该有效

© www.soinside.com 2019 - 2024. All rights reserved.