Menjalankan Function Secara Berkala dengan django-crontab


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.
$ 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

Referensi

Page : 1 2 3 4

0 komentar