Cron Service
Cron Service — Platon platformasida rejalashtirilgan vazifalarni (cron job) boshqarish, ishga tushirish va nazorat qilish uchun mo‘ljallangan servisdir.
U cron jadvalini ma’lumotlar bazasidan dinamik ravishda yuklaydi, tekshiradi, ishga tushiradi va ularning holatini kuzatadi.
Ushbu servis faqat cron Spring profili ostida ishlaydi.
Umumiy Ma’lumot
Cron Service quyidagi imkoniyatlarni ta’minlaydi:
- Ma’lumotlar bazasidan cron vazifalarni dinamik yuklash
- Yangi, o‘zgartirilgan yoki o‘chirilgan vazifalarni avtomatik aniqlash
- Bir nechta bajarish turlarini qo‘llab-quvvatlash (SQL, HTTP so‘rov, JS Eval va boshqalar)
- Cron expressionlarni tekshirish va normalizatsiya qilish
- NATS orqali markazlashtirilgan log yuritish
- Cron vazifalarni qo‘lda yangilash (refresh) imkoniyati
Arxitektura Komponentlari
Cron Service’ning asosiy logikasi joylashgan servis.
Asosiy vazifalari:
- Ma’lumotlar bazasidan cron jadvalini o‘qish
- Yangi yoki yangilangan schedule’larni ro‘yxatdan o‘tkazish
- O‘chirilgan yoki nofaol schedule’larni bekor qilish
- Cron expression va konfiguratsiyalarni tekshirish
TaskSchedulerorqali vazifalarni ishga tushirish
Schedule Hayotiy Sikli
- Cron Service ma’lumotlar bazasidan schedule’larni yuklaydi
- Har bir schedule validatsiyadan o‘tkaziladi
- To‘g‘ri schedule’lar scheduler’ga qo‘shiladi
- Noto‘g‘ri schedule’lar bekor qilinadi va loglanadi
- O‘zgartirilgan yoki o‘chirilgan schedule’lar dinamik ravishda yangilanadi
Cron Schedule Ro‘yxatdan O‘tkazish Jarayoni
text
Database → Validation → Scheduler → Execution → LoggingCron Schedule formati
text
* * * * * har bir minutda
*/30 * * * * har 30-minutda
30 16 * * * har kuni 16:30 da
30 16 2 * * har oyni 2-sanasida 16:30 da
30 16 2 11 * har yili noyabr oyining 2-sanasida 16:30 da
30 16 * 11 Mon-Fri har yili noyabr oyining Dushanbadan jumagacha hafta kunlarining 16:30 da