Computer Science

Membangun Task Scheduler Tangguh dengan Python, PostgreSQL, dan Algoritma Prioritas

Bangun task scheduler tangguh dengan Python, PostgreSQL, retry mechanism, dan algoritma prioritas untuk kebutuhan backend nyata.

Diperbarui 26 Agu 2026id5 bagian · 20 pelajaran4 jam 30 menit
Belum ada ulasan
Level Intermediate
Kategori Computer Science
Perkiraan Durasi 4 jam 30 menit

Skill yang dibangun

Apa yang akan Anda pelajari

Merancang schema PostgreSQL untuk menyimpan task, status, prioritas, waktu eksekusi berikutnya, jumlah percobaan, dan pesan error.

Membangun worker Python yang mengambil task siap jalan berdasarkan prioritas dan waktu eksekusi menggunakan query database yang aman.

Menerapkan transaksi, row-level locking dengan SELECT FOR UPDATE SKIP LOCKED, dan pola claim task agar beberapa worker tidak memproses task yang sama.

Membuat retry mechanism dengan batas percobaan, exponential backoff, pencatatan error, serta graceful shutdown untuk scheduler yang lebih tangguh.

Siapa Target Audiens Kursus Ini

Programmer Python tingkat menengah, backend developer pemula, mahasiswa ilmu komputer, dan engineer yang ingin memahami cara kerja sistem penjadwalan tugas seperti pengingat otomatis, pemrosesan laporan, sinkronisasi data, atau pekerjaan batch.

Project outcomes

Apa yang Akan Anda Buat

Kamu akan membangun aplikasi task scheduler berbasis Python dan PostgreSQL. Aplikasi ini bisa mendaftarkan task, memilih task berdasarkan prioritas dan waktu eksekusi, menjalankan pekerjaan melalui worker, menyimpan status success atau failed, dan mencoba ulang task yang gagal dengan jeda bertahap. Di tahap akhir, scheduler mendukung beberapa worker secara aman, logging dasar, graceful shutdown, serta simulasi pekerjaan nyata seperti pemrosesan laporan atau sinkronisasi data.

Konten Kursus

Fondasi Task Scheduler dan Persiapan Lingkungan

4 pelajaran | 125 menit
Memahami Masalah yang Diselesaikan Task Scheduler
25 menit
Merancang Alur Eksekusi Task dari Queue hingga Selesai
30 menit
Menyiapkan Project Python dengan Virtual Environment
30 menit
Membangun Task Runner Sederhana secara Sinkron
40 menit

Persistensi Task dengan PostgreSQL

4 pelajaran | 155 menit
Merancang Schema PostgreSQL untuk Task Scheduler
35 menit
Menghubungkan Python ke PostgreSQL dengan Psycopg
35 menit
Membuat Repository untuk Operasi CRUD Task
45 menit
Menguji Repository dan Menangani Transaction Error
40 menit

Algoritma Prioritas dan Waktu Eksekusi

4 pelajaran | 165 menit
Memahami Priority Queue dengan Heapq
35 menit
Menggabungkan Priority dan Scheduled Time
40 menit
Membangun Polling Loop yang Aman
40 menit
Mencegah Race Condition saat Claim Task
50 menit

Reliability, Retry, dan Observability

4 pelajaran | 170 menit
Mendesain Retry Policy dengan Exponential Backoff
40 menit
Menangani Timeout dan Graceful Shutdown
40 menit
Membuat Logging dan Status Task yang Bisa Diaudit
45 menit
Menguji Reliability dengan Failure Simulation
45 menit

Proyek Akhir: Membangun Reliable Task Scheduler

4 pelajaran | 315 menit
Perancangan & Setup Proyek Scheduler
60 menit
Implementasi Task API dan Priority Queue
75 menit
Integrasi Retry, Locking, Logging, dan Shutdown
90 menit
Pengujian, Containerization, dan Presentasi Hasil
90 menit

Deskripsi Kursus

Task scheduler bukan cuma soal menjalankan fungsi setiap beberapa menit. Di dunia kerja, kamu perlu menangani prioritas tugas, status proses, retry saat gagal, locking agar task tidak diproses dua kali, dan penyimpanan data yang aman. Konsep ini dipakai untuk pengingat otomatis, pemrosesan laporan, sinkronisasi data, sampai pekerjaan batch.

Kamu akan membangun scheduler secara bertahap menggunakan Python 3.10+, PostgreSQL, dan library standar yang benar-benar tersedia. Kita mulai dari model data dan alur eksekusi sederhana, lalu naik ke pemilihan task berdasarkan prioritas, transaksi database, concurrent worker, retry dengan backoff, serta graceful shutdown.

Setiap bagian diarahkan ke proyek akhir yang runnable. Kamu akan mengetik kode lewat guided practice, membedah cara kerja kode pada level eksekusi, lalu mengerjakan tantangan mandiri. Bug yang sering muncul juga dibahas, termasuk race condition, task yang nyangkut di status running, dan retry yang tidak terkontrol. Jadi bukan sekadar hafal syntax, tapi ngerti alasan di balik desainnya.

Rating & Ulasan

0 ratings