В Odoo 8 поле user_idв действии cron относится к пользователю, который будет выполнять задание cron. Это поле определяет, какие права доступа и разрешения пользователя будут применены при запуске задания cron.
Вот несколько способов определить действие cron с примерами кода в Odoo 8:
Метод 1. Использование кода Python в модели
Вы можете определить действие cron в модели, используя декоратор @api.multiи декоратор @api.model_cron. Вот пример:
from openerp import models, fields, api
class MyModel(models.Model):
_name = 'my.model'
@api.multi
@api.model_cron('0 0 * * *', user_id='user_id', args=(), name='My Cron Job')
def my_cron_job(self):
# Your code here
pass
В приведенном выше примере для параметра user_idустановлено значение 'user_id', что означает, что будет использоваться идентификатор пользователя, указанный в поле user_id. действия cron.
Метод 2: использование XML в файле данных
Вы также можете определить действие cron, используя XML в файле данных. Вот пример:
<openerp>
<data>
<record id="my_cron_job_action" model="ir.cron">
<field name="name">My Cron Job</field>
<field name="model" ref="my_model"/>
<field name="function">my_cron_job</field>
<field name="args">(1,)</field>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="user_id" ref="base.user_admin"/>
<field name="numbercall">-1</field>
<field name="doall" eval="False"/>
<field name="active" eval="True"/>
</record>
</data>
</openerp>
В приведенном выше примере в поле user_idустановлена ссылка base.user_admin, что означает, что задание cron будет выполнено пользователем с идентификатором, указанным в
s>10запись.
Метод 3: использование интерфейса Odoo
Вы также можете определить действие cron, используя интерфейс Odoo. Вот как это можно сделать:
- Перейдите в меню «Настройки».
- Нажмите «Технические», а затем «Автоматизация», чтобы получить доступ к действиям cron.
- Нажмите «Создать», чтобы создать новое действие cron.
- Заполните обязательные поля, включая поле
user_id. - Сохраните действие cron.