Cron Job là gì?
Cron Job là một chức năng giúp lên lịch tự động thực hiện một số công việc nào đó. Việc này được cấu hình thông qua biểu thức Cron
Cấu trúc biểu thức Cron
Thông thường một biểu thức Cron có từ 5-7 ký tự
5 : Không có Second, Không có Year
6 : Có Second, Không Year
7 : Có đủ
* : Bất kỳ giá trị nào
- : Khoảng giá trị
, : Danh sách các giá trị
/ : Bước nhảy
? : Không quan tâm giá trị ( Day of Month, Day of Week)
# : Thứ mấy của (6#3 : Ngày thứ 6 thứ 3 của tháng) ( Day of Week)
L : Cuối cùng của (6L : Ngày thứ 6 cuối của tháng) ( Day of Month, Day of Week)
W : Weekday ( Day of Month)
0 30 0 * * ? : 0h30 hàng ngày
0 15 10 ? * * = 0 15 10 * * ? = 0 15 10 * * ? * : 10h15 hàng ngày
*/5 * * * * * : Mỗi 5s
0 15 10 ? * MON-FRI : 10h15 từ thứ 2 đến thứ 6
0 15 10 L * ? : 10h15 ngày cuối của mỗi tháng
Công cụ giúp kiểm tra biểu thức
Thư viện C#
Thư viện giúp parse các biểu thức Cron
Cronos
https://github.com/HangfireIO/Cronos
NCrontab
https://github.com/atifaziz/NCrontab
Thư viện giúp chạy các background jobs
Coravel
https://github.com/jamesmh/coravel
Quartz.NET
https://www.quartz-scheduler.net
https://github.com/quartznet/quartznet
Hangfire
https://github.com/HangfireIO/Hangfire
FluentScheduler
https://github.com/fluentscheduler/FluentScheduler
Worker Service
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/host/hosted-services
Tham khảo thêm
https://topdev.vn/blog/tim-hieu-ve-cau-hinh-cron-job
http://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html
https://medium.com/@tushar0618/cron-expression-tutorial-721d85e4c2a7
Tiếp tục cập nhật ...