Skip to content

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
  • TaskScheduler orqali vazifalarni ishga tushirish

Schedule Hayotiy Sikli

  1. Cron Service ma’lumotlar bazasidan schedule’larni yuklaydi
  2. Har bir schedule validatsiyadan o‘tkaziladi
  3. To‘g‘ri schedule’lar scheduler’ga qo‘shiladi
  4. Noto‘g‘ri schedule’lar bekor qilinadi va loglanadi
  5. O‘zgartirilgan yoki o‘chirilgan schedule’lar dinamik ravishda yangilanadi

Cron Schedule Ro‘yxatdan O‘tkazish Jarayoni

text
Database → Validation → Scheduler → Execution → Logging

Cron 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

Cron Diagram