GoDasturchi
What is a Task Queue?

What is a Task Queue?

Task Queue (vazifalar navbati) nima?

Restoranda mijoz buyurtma bersa, oshpaz uni DARHOL emas, balki navbat bo'yicha tayyorlaydi — buyurtma "qabul qilingan", lekin "tayyor" bo'lguncha vaqt o'tadi, va mijoz shu orada boshqa ish bilan shug'ullanishi mumkin. Task Queue (vazifalar navbati) — dasturlarda aynan shu g'oya: og'ir yoki vaqt talab qiladigan ishni (email yuborish, video qayta ishlash, hisobot tayyorlash) DARHOL emas, balki NAVBATGA qo'yib, alohida "ishchi" (worker) orqali orqa fonda bajarish.

Nega bu muhim? "HTTP Service Communication" darsida ko'rganingizdek, foydalanuvchi so'rov yuborganda, server TEZ javob berishi kerak. Agar server har bir so'rovni to'liq (masalan 30 soniya davom etadigan video qayta ishlashni) KUTIB tursa, foydalanuvchi uzoq kutadi va server bir vaqtning o'zida oz sonli so'rovga xizmat qila oladi. Buning o'rniga server DARHOL "qabul qildim" deb javob berib, ishni orqa fonda ishlaydigan worker'larga topshiradi.

  • Task Definition — bitta vazifani ifodalovchi ma'lumot tuzilmasi
  • Channel-Based Queue — Go kanallari orqali vazifalar navbati
  • Worker Implementation — navbatdan vazifa olib, uni bajaruvchi "ishchi"
  • Worker Pool — bir nechta ishchi PARALLEL ishlashi
  • Task Status Tracking — har bir vazifaning holatini (kutilmoqda/bajarilmoqda/tayyor) kuzatish
  • Retry Logic — muvaffaqiyatsiz vazifani qayta urinish
  • HTTP API for Task Queue — vazifa qo'shish va holatini tekshirish uchun API
  • Graceful Shutdown — server to'xtaganda vazifalarni to'g'ri yakunlash

Bu — "Concurrency" kursida o'rgangan goroutine'lar va kanallarning ENG amaliy qo'llanilishlaridan biri. Oxirida sizda — HTTP orqali vazifa qabul qiladigan, ularni bir nechta worker orqali parallel bajaradigan, muvaffaqiyatsizlikda qayta urinadigan va to'xtaganda vazifalarni yo'qotmasdan yakunlaydigan TO'LIQ ishlaydigan Task Queue tizimi bo'ladi.

Key Takeaway

Key Takeaway:

Task Queue — og'ir ishni darhol bajarish o'rniga navbatga qo'yib, orqa fonda alohida worker'lar orqali bajarish orqali, serverni tez javob beradigan va yuqori yukka chidamli qiladi.

NEXT UP

Task Definition

What is a Task Queue?

Task Queue (vazifalar navbati) nima?

Restoranda mijoz buyurtma bersa, oshpaz uni DARHOL emas, balki navbat bo'yicha tayyorlaydi — buyurtma "qabul qilingan", lekin "tayyor" bo'lguncha vaqt o'tadi, va mijoz shu orada boshqa ish bilan shug'ullanishi mumkin. Task Queue (vazifalar navbati) — dasturlarda aynan shu g'oya: og'ir yoki vaqt talab qiladigan ishni (email yuborish, video qayta ishlash, hisobot tayyorlash) DARHOL emas, balki NAVBATGA qo'yib, alohida "ishchi" (worker) orqali orqa fonda bajarish.

Nega bu muhim? "HTTP Service Communication" darsida ko'rganingizdek, foydalanuvchi so'rov yuborganda, server TEZ javob berishi kerak. Agar server har bir so'rovni to'liq (masalan 30 soniya davom etadigan video qayta ishlashni) KUTIB tursa, foydalanuvchi uzoq kutadi va server bir vaqtning o'zida oz sonli so'rovga xizmat qila oladi. Buning o'rniga server DARHOL "qabul qildim" deb javob berib, ishni orqa fonda ishlaydigan worker'larga topshiradi.

  • Task Definition — bitta vazifani ifodalovchi ma'lumot tuzilmasi
  • Channel-Based Queue — Go kanallari orqali vazifalar navbati
  • Worker Implementation — navbatdan vazifa olib, uni bajaruvchi "ishchi"
  • Worker Pool — bir nechta ishchi PARALLEL ishlashi
  • Task Status Tracking — har bir vazifaning holatini (kutilmoqda/bajarilmoqda/tayyor) kuzatish
  • Retry Logic — muvaffaqiyatsiz vazifani qayta urinish
  • HTTP API for Task Queue — vazifa qo'shish va holatini tekshirish uchun API
  • Graceful Shutdown — server to'xtaganda vazifalarni to'g'ri yakunlash

Bu — "Concurrency" kursida o'rgangan goroutine'lar va kanallarning ENG amaliy qo'llanilishlaridan biri. Oxirida sizda — HTTP orqali vazifa qabul qiladigan, ularni bir nechta worker orqali parallel bajaradigan, muvaffaqiyatsizlikda qayta urinadigan va to'xtaganda vazifalarni yo'qotmasdan yakunlaydigan TO'LIQ ishlaydigan Task Queue tizimi bo'ladi.

Key Takeaway

Key Takeaway:

Task Queue — og'ir ishni darhol bajarish o'rniga navbatga qo'yib, orqa fonda alohida worker'lar orqali bajarish orqali, serverni tez javob beradigan va yuqori yukka chidamli qiladi.

NEXT UP

Task Definition