Latest Post

Hướng dẫn cài đặt Nginx, PHP, MySQL trên Windows 11 và so sánh với Docker Lỗi “Uncaught TypeError: Cannot access offset of type string on string” trong PHP: Nguyên nhân và cách khắc phục

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 *