Почему не работает автоматизация расписания odoo

#odoo #odoo-13

#odoo #odoo-13

Вопрос:

В настоящее время я создал модуль, необходимый для работы с cronjob. Я следую коду и шагу, найденному в Интернете, чтобы установить cronjob, но это работает не так, как результат, отображаемый в Интернете. Я обнаружил, что cronjob действительно выполнялся, но не вызывал метод, который я объявляю в ir.cron Я не уверен, что какой-либо шаг я делаю неправильно. Ниже приведен мой пример кода.

data.xml

 <?xml version="1.0" encoding="UTF-8"?>
<openerp>
    <data noupdate="1">
        <record id="ir_cron_test_cronjob" model="ir.cron">
            <field name="name">Test Cronjob</field>
            <field name="model_id" ref="model_mymod_testingmodel" />
            <field name="user_id" ref="base.user_root"/>
            <field name="state">code</field>
            <field name="code">model.testing_method()</field>
            <field name="interval_number">1</field>
            <field name="interval_type">minutes</field>
            <field name="numbercall">-1</field>
            <field name="doall" eval="False" />
            <field name="active" eval="True" />                    
        </record>
    </data>
</openerp>

  

mymod.py

 from odoo import models,api,fields,_
import requests

class TestingModel(models.Model):
    _name="mymod.testingmodel"

    @api.model
    def testing_method(self):
        print("Enter testing_method")
        requests.get("http://localhost/testing/simple_log.php?text=odoo13")

  

Комментарии:

1. Если ожидается, что содержимое файла данных будет применено только один раз, вы можете указать флаг odoo, noupdate установленный на 1 . Если ожидается, что часть данных в файле будет применена один раз, вы можете поместить эту часть файла в <data noupdate=”1”> домен.

2. @Kenly Спасибо за объяснение, теперь я хорошо понимаю

Ответ №1:

Я решил свою проблему, изменив значение noupdate на 0 для моего случая. Согласно объяснению Кенли, noupdate=»1″ для cron применяется только один раз.

data.xml

 <?xml version="1.0" encoding="UTF-8"?>
<openerp>
    <data noupdate="0">
        <record id="ir_cron_test_cronjob" model="ir.cron">
            <field name="name">Test Cronjob</field>
            <field name="model_id" ref="model_mymod_testingmodel" />
            <field name="user_id" ref="base.user_root"/>
            <field name="state">code</field>
            <field name="code">model.testing_method()</field>
            <field name="interval_number">1</field>
            <field name="interval_type">minutes</field>
            <field name="numbercall">-1</field>
            <field name="doall" eval="False" />
            <field name="active" eval="True" />                    
        </record>
    </data>
</openerp>