TRANG 3: Phân tích Logic Đánh giá Cron Expression (JS Engine)
3.1. Tại sao cần JavaScript?
WSO2 MI mặc định không có hàm so sánh thời gian với biểu thức Cron phức tạp (như 0 0/15 * * * ?). Do đó, dự án sử dụng JavaScript (Nashorn Engine) để gọi trực tiếp các thư viện Java của Quarkz.
3.2. Chi tiết mã nguồn Evaluator
Tại EvaluateSingleTaskSequence.xml, hệ thống thực hiện các bước:
- Lấy
cron_expressionvàlast_run(chuỗi string) từ Database. - Chuyển đổi
last_runsang đối tượngDatecủa Java. - Sử dụng class
org.quartz.CronExpressionđể tính toán thời điểm chạy tiếp theo (nextRun). - So sánh: Nếu
nextRunnhỏ hơn hoặc bằng thời gian hiện tại (now), hệ thống xác định Task này đã đến hạn chạy (shouldRun = true).
Không có bình luận nào để hiển thị
Không có bình luận nào để hiển thị