Halo! Artikel ini menyajikan "contoh sumber terbuka" yang menjelaskan langkah demi langkah bagaimana menggunakan pustaka "Django Tasks Manager" dalam proyek baru. "Komit" dibuat untuk menyorot setiap langkah implementasi mulai dari direktori kosong hingga fase akhir ketika proyek mengelola tugas melalui kontrol UI. Terima kasih telah membaca!

Sebelum siapa pun membaca konten ini, ada baiknya mengetahui apa yang ada di dalam kotak:

Pustaka yang digunakan oleh sampel didukung oleh Django dan Celery, pengelola antrian tugas yang populer, dan menyediakan cara sederhana untuk menjalankan tugas latar belakang dalam kendali penuh: mulai/berhenti, keluaran tampilan, dan log waktu proses. Berikut adalah daftar lengkap fitur perpustakaan:

  • ✅ Membuat/Mencabut Tugas Seledri
  • ✅ Lihat LOG & Output
  • ✅ Konfigurasi Minimal
  • ✅ Instalasi melalui PyPi
  • ✅ Tersedia TUGAS (disediakan sebagai sampel awal)
  • ✅ Tugas users_in_db() - Daftar semua pengguna terdaftar
  • ✅ Tugas execute_script() - membiarkan pengguna menjalankan sistem skrip

Pada akhirnya, UI yang diekspos oleh alat ini serupa dengan ini:

Jika perpustakaan ini terdengar berguna, langkah-langkah integrasi untuk proyek Django apa pun disajikan di bawah.

Aspek penting adalah ketergantungan layanan Redis yang diperlukan oleh Celery yang digunakan untuk mengelola dan melakukan tugas pelacakan status secara real-time.

👉 Langkah 1 — Instal django-tasks-manager melalui PIP

Cara yang disarankan untuk melakukan ini adalah dengan menggunakan lingkungan virtual yang mengisolasi instalasi perpustakaan.

$ pip install django-tasks-manager

Setelah instalasi selesai, langkah selanjutnya adalah membuat dua direktori yang digunakan oleh perpustakaan:

  • celery_logs - digunakan untuk mencatat eksekusi tugas saat runtime
  • celery_scripts - lokasi perpustakaan mencari skrip yang akan dieksekusi
$ mkdir celery_logs 
$ mkdir celery_scripts

Paket ini mengirimkan beberapa skrip sederhana sebagai bukti konsep yang tersedia untuk diunduh dari repositori publik.

👉 Langkah 2 — Perbarui app routing

# core/urls.py
from django.urls import path, include     # <-- UPDATE: Add 'include' HELPER
urlpatterns = [
    ...
    
    path("", include("django_tm.urls")),  # <-- New Routes
    ...
]

👉 Langkah 3 — Perbarui Konfigurasi, include the new APPS

# App Settings, truncated content
INSTALLED_APPS = [
    ...                  
    'django_tm',              # Django Tasks Manager   # <-- NEW
    'django_celery_results',  # Django Celery Results  # <-- NEW
]

👉 Langkah 4 — Perbarui Konfigurasi, include page templates

# App Settings, truncated content
TEMPLATE_DIR_TASKS = os.path.join(BASE_DIR, "django_tm/templates") # <-- NEW
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',   
        'DIRS': [TEMPLATE_DIR_TASKS],                              # <-- NEW
        'APP_DIRS': True,
    },
]

👉 Langkah 5 — Perbarui Konfigurasi, Bagian CELERY_ Baru

#############################################################
# Celery configurations
# BASE_DIR points to the ROOT of the project
# Note: make sure you have 'os' object imported
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
# Working Directories required write permission
CELERY_SCRIPTS_DIR        = os.path.join(BASE_DIR, "celery_scripts" )
CELERY_LOGS_DIR           = os.path.join(BASE_DIR, "celery_logs"    )
CELERY_BROKER_URL         = os.environ.get("CELERY_BROKER", "redis://localhost:6379")
CELERY_RESULT_BACKEND     = os.environ.get("CELERY_BROKER", "redis://localhost:6379")
CELERY_TASK_TRACK_STARTED = True
CELERY_TASK_TIME_LIMIT    = 30 * 60
CELERY_CACHE_BACKEND      = "django-cache"
CELERY_RESULT_BACKEND     = "django-db"
CELERY_RESULT_EXTENDED    = True
CELERY_RESULT_EXPIRES     = 60*60*24*30 # Results expire after 1 month
CELERY_ACCEPT_CONTENT     = ["json"]
CELERY_TASK_SERIALIZER    = 'json'
CELERY_RESULT_SERIALIZER  = 'json'
#############################################################

👉 Langkah 6Migrate the database & start aplikasi

$ python manage.py makemigrations
$ python manage.py migrate
$ 
$ python manage.py runserver

👉 Langkah 7 — Mulai Celery manager (menggunakan terminal lain)

$ celery --app=django_tm.celery.app worker --loglevel=info

Pengguna super sekarang dapat terhubung ke UI dan mengatur tugas secara visual di alamat ini: http://127.0.0.1:8000/tasks

Terima kasih telah membaca! Untuk sumber daya lebih lanjut, silakan akses:

🚀 PROMO

Jika Anda seorang pengembang junior atau Anda mengetahuinya, Paket PROMO ini dibuat, dan Diskon 85% oleh Tim Kreatif mungkin berguna. Paket ini mencakup koleksi aset premium (Kit & Dasbor) yang solid yang dapat digunakan untuk membangun portofolio dan aplikasi web yang menarik dalam waktu singkat.

👉 Paket PROMO Junior — 24 KitPREMIUM &File Desainer