Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the wordpress-seo domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/vinascript/html/wp-includes/functions.php on line 6114
Tạo Cron Job trong Odoo Module - VinaScript

Latest Post

Triển khai dự án PHP, Mysql với Nginx trên Docker Tìm hiểu về HTML – Ưu điểm, nhược điểm và cách hoạt động của HTML

Cron Job là một công việc được thực hiện vào một thời điểm cụ thể hoặc theo một lịch trình định kỳ (ví dụ: mỗi 5 phút một lần). Trong loạt bài viết về Odoo, VinaSupport sẽ hướng dẫn bạn cách tạo một Cron Job trong một Odoo Module bằng việc sử dụng ir.cron.

Bước 1: Tạo file models/test_cron_job.py với nội dung như sau

from odoo import api, fields, models
from datetime import datetime
import os

class TestCronJob(models.Model):
_name = 'test.cron.job'


@staticmethod
def run():
os.system("echo 'Test Cron: %s' > /tmp/test.txt" % datetime.now())

Import nó vào vào file models/__init__.py

from . import test_cron_job.py

Bước 2: Tạo file data/ir_cron_test_cron_job.xml với nội dung như sau:

<openerp>
<data>
<record id="ir_cron_test_cron_job" model="ir.cron" forcecreate="True">
<field name="name">Test Cron Job</field>
<field name="model_id" ref="model_test_cron_job"/>
<field name="state">code</field>
<field name="code">model.run()</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" eval="True"/>
<!-- <field name="nextcall" eval="(DateTime.now()).strftime('%Y-%m-%d 00:00:01')"/>-->
</record>
</data>
</openerp>

Sau đó import nó vào file __manifest__.py

...
# always loaded
'data': [
'data/ir_cron_test_cron_job.xml'
],
...

Cuối cùng vào mục Apps để nâng cấp module của bạn.

Kết quả:

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *