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!
- 👉 Django & Celery Manager — perpustakaan yang digunakan
- 👉 Contoh Pengelola Tugas — contoh implementasi
- 🚀 Dukungan gratis (untuk berjaga-jaga)
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 runtimecelery_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 6 —
Migrate 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:
- 👉 Dukungan gratis melalui Email dan Discord
- 👉 Lebih banyak permulaan gratis yang dibuat dengan teknologi berbeda
🚀 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