Deno Memperkenalkan Deno Cron untuk Penjadwalan Pekerjaan

Deno Land, pengembang dari runtime TypeScript/JavaScript Deno, baru-baru ini memperkenalkan Deno Cron, sebuah fitur yang digambarkan sebagai cara mudah untuk membuat pekerjaan terjadwal. Diungkapkan pada tanggal 29 November dan tersedia di balik bendera --unstable di Deno 1.38, Deno.cron() adalah fungsi yang menerima tiga parameter: nama pekerjaan terjadwal, jadwal, dan handler, yang merupakan fungsi yang dieksekusi sesuai jadwal yang diberikan.
Fitur dan Fungsi Deno Cron
- Format Jadwal: Deno Cron menggunakan format cron Unix dan zona waktu UTC.
- Tindakan Handler: Handler Deno Cron dapat melakukan tindakan seperti memperbarui status di Deno KV, mem-ping situs web, mengirim email, memulai cadangan basis data, dan memanggil API secara berkala.
Berbeda dengan pekerjaan cron di Unix dan Linux, eksekusi Deno Cron tidak tumpang tindih. Jika sebuah pekerjaan dijadwalkan untuk berjalan setiap 10 menit tetapi tugasnya memakan waktu 30 menit, Deno Cron secara otomatis melewatkan jadwal berikutnya sampai tugas selesai. Pekerjaan cron yang tumpang tindih dapat menyebabkan masalah yang tidak diinginkan dan memerlukan logika tambahan untuk menghindarinya; Deno Cron menghindari hal tersebut.
Pengembangan yang Sedang Berlangsung
Deno Land juga sedang bekerja untuk mendukung API yang ramah JavaScript untuk menentukan jadwal cron. Dalam menjelaskan alasan di balik Deno Cron, Deno Land menyatakan bahwa pembangunan untuk web telah menjadi semakin kompleks. Perangkat lunak modern menggunakan infrastruktur cloud, memecah kode boilerplate, dan mengelola konfigurasi yang rumit. Namun, pengembang hanya ingin fokus pada logika bisnis. Deno Land berupaya untuk memudahkan pengembangan web dengan menghilangkan konfigurasi dan boilerplate yang tidak perlu.
Seperti Deno KV dan Deno Queues, yang dapat ditambahkan ke aplikasi hanya dengan beberapa baris kode, Deno Cron dirancang untuk membuat pengembangan web menjadi lebih sederhana.
Integrasi dengan Deno Deploy
Di platform JavaScript serverless Deno Deploy, Deno.cron() dikelola secara otomatis, memungkinkan pengguna menjalankan pekerjaan cron tanpa web server atau bahkan permintaan konsisten untuk menjaga isolate tetap hidup. Setiap kali proyek dikerahkan, Deno Deploy secara otomatis mendeteksi pekerjaan cron dan mengevaluasinya. Saat tiba waktunya untuk handler berjalan, Deno Deploy secara otomatis memutar isolate sesuai permintaan untuk menjalankannya. Sebuah tab Cron telah ditambahkan ke dashboard Deno Deploy untuk menunjukkan pekerjaan cron aktif dalam proyek.
Deno Cron menandai langkah maju dalam memudahkan pengembangan aplikasi web, memberikan alat yang efisien dan mudah digunakan untuk penjadwalan pekerjaan. Dengan integrasi yang mulus ke Deno Deploy, Deno Cron membuka jalan bagi pengembangan yang lebih otomatis dan efisien.