Cron jon NodeJS với node-cron

Tram Ho

Khi phát triển một ứng dụng có những việc cần thược hiện định kì theo thời gian như việc thống kê, tổng hợp, đồng bộ dữ liệu hay các công việc định kỳ như gửi email nhắc nhở hàng ngày. Chúng ta cần một giải phát hiệu quả cho việc này! và hôm nay tớ muốn giới thiệu cho các bạn mộtmodule để tạo ra các run job theo một lịch có sẵn một cách đơn giản và hiệu quả.

Node-cron là một module để tạo các task con theo lịch, sử dụng JavaScript nguyên bản base trên GNU crontab. Module này cho phép bạn lập lịch tác vụ trong node.js bằng cú pháp full crontab.

Cài đặt và sử dụng node-cron

  • Cài đặt node-cron qua npm

npm install –save node-cron

Noài ra các bạn có thể cài node-cron thông qua các responsitory khách như yarn.

  • Import và tạo một cron job bằng node-cron

crontab syntax

Mỗi crontab thường có cấu trúc:

Khoảng giá trị cho phép

TrườngKhoảng giá trị
Giây0-59
Phút0-59
Giờ0-23
Ngày trong tháng1-31
Tháng1-12 or JAN-DEC
Ngày trong tuần0-7 or SUN-SAT (0 hoặc 7 là chủ nhậtr)

Các kí tự đặc biệt có thể sử dụng

Ký tựMô tả
*(all value) sử dụng trong trường hợp tất cả các giá trị đều đúng.
(range of values -) sử dụng để mô tả khoảng giá trị
,(value list separator) sử dụng để liệt kê các giá trị
/(step values) sử dụng để chỉ rõ số lần tăng

Một số Tips thông dụng

0 * * * * : Chạy vào lúc 00 phút của mỗi giờ.

1,2,4,5 * * * * : Chạy mỗi khi số phút bằng 1,2,4 hoặc 5.

Một số hàm được cung cấp bởi node-cron

Thành phần của một cron

  • expression string: Toán tử Cron
  • function Function: Hàm thực hiện theo lịch
  • options Object: Optional.

Options
scheduled boolean: true nếu tác vụ đã bị thay đổi. Mặc định là true;
timezone string: múi giờ;

Một hàm cron đầy đủ:

Các hàm được cung cấp

Start
Bắt đầu tạo một lịch cho một tác vụ.

Stop
Tạo dừng thực thi một lịch cho một tác vụ.

Destroy
Hủy một lịch cho một tác vụ.

Validate
Validate sự hợp lệ của một toán tử cron.

Nguồn tham khảo:
https://www.npmjs.com/package/node-cron,
https://stackjava.com/uncategorized/cron-expression-la-gi-huong-dan-cu-phap-cron-expression.html

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo