Artikel ini membahas mengenai bagaimana cara menjalankan suatu function atau method pada waktu tertentu dan rutin dengan menggunakan module yang bernama django-crontab. Berikut ini adalah poin-poin yang akan dibahas nanti :
- Mengenal django-crontab
- Install django-crontab
- Implementasi django-crontab
Mengenal django-crontab
django-crontab merupakan suatu module django sederhana yang memungkinkan kita untuk dapat menjalankan atau mengeksekusi suatu function/method atau suatu task/job secara berkala, yakni dalam waktu tertentu dan terus berulang secara teratur dan terprogram. Hal ini dapat memudahkan kita bila ingin melakukan sesuatu yang terjadwal, sebagai contoh jika kita ingin mengirim pesan email kepada pengguna aplikasi kita sekali setiap hari. Maka kita hanya perlu membuat function untuk mengirim email, dan tinggal kita set jadwalnya dengan menggunakan django-crontab. Cukup simple bukan ? Pada halaman berikutnya, anda akan melihat bagaimana cara memasang module ini dalam project django.
Install django-crontab
Untuk menginstall-nya, anda dapat menggunakan perintah berikut ini :
$ pip install django-crontab
Nah, kemudian jangan lupa untuk melakukan konfigurasinya dengan cara menambahkan ke daftar
INSTALLED_APPS di file
settings.py seperti ini :
Pada halaman selanjutnya anda akan melihat contoh implementasi dari module ini.
Implementasi django-crontab
django-crontab dapat menjalankan suatu function atau pun perintah yang ada di
manage.py.
Implementasi django-crontab dengan Menggunakan Function
Pada bagian ini, saya akan memberi contoh jika ingin menjalankan function dengan django-crontab. Pertama tentu saja anda perlu membuat suatu function dan letakkan dimana pun yang anda inginkan. Lalu pada file settings.py tambahkan script seperti contoh berikut ini :
Implementasi django-crontab dengan Menggunakan Management Command
Management Command merupakan kumpulan command yang bisa dijalankan melalui file
manage.py. Misalnya seperti command yang biasa anda gunakan ketika mengembangkan project django seperti
makemigrations, migrate, collectstatic, dan semacamnya. Bahkan anda juga bisa membuat sendiri management command sesuai kebutuhan anda seperti yang pernah saya bahas dalam artikel sebelumnya yaitu "Membuat Custom Django Management Command Sendiri".
Lalu untuk menjalankannya dengan django-crontab pun tidak sulit, caranya hampir sama seperti ketika menjalankan function biasa seperti diatas, namun formatnya sedikit berbeda seperti ini :
Format Crontab
Perlu diperhatikan juga mengenai format crontab, script-script di atas hanyalah contoh. Tentu anda akan perlu membuat format waktu yang berbeda dari contoh di atas tergantung kasus yang ada pada project anda. Di bawah ini merupakan sedikit petunjuk mengenai bagaimana menentukan format waktu sesuai sytax crontab. Untuk lebih lengkapnya anda bisa cek pada
halaman wikipedia mengenai cron.
Command Penting dalam Penggunaan django-crontab
Ada beberapa command penting yang perlu anda ketahui dalam menggunakan module django-crontab ini. Setelah anda selesai mengatur konfigurasi di atas pada file
settings.py, maka anda wajib untuk menjalankan perintah berikut ini guna menambahkan konfigurasi diatas pada cron yang ada di sistem anda.
Apabila anda ingin melihat ada cronjob apa saja yang sedang aktif, anda bisa menjalankan perintah berikut ini.
$ python manage.py crontab add
Jalankan perintah diatas setiap kali anda menambahkan atau merubah konfigurasi cron anda yang ada di file
settings.py.
Apabila anda ingin melihat ada cronjob apa saja yang sedang aktif, anda bisa menjalankan perintah berikut ini.
$ python manage.py crontab show
Serta jalankan perintah di bawah ini jika ingin menghapus semua daftar cronjob yang sudah terdaftar di sistem.
$ python manage.py crontab remove
0 komentar