Saya mencari jadwal pekerjaan simpul yang akan memungkinkan saya untuk menjadwalkan sejumlah tugas pada interval yang berbeda. Misalnya,
- fungsi panggilan A setiap 30 detik
- fungsi panggilan B setiap 60 detik
- fungsi panggilan C setiap 7 hari
Saya juga ingin dapat memulai dan menghentikan proses.
Sejauh ini, saya telah melihat:
nanti - sintaks membingungkan saya, juga ternyata Anda tidak bisa menjadwalkan tugas lebih dari sebulan
Agenda - tampaknya yang paling menjanjikan, namun saya bingung tentang fungsi basis data
timeplan - terlalu sederhana, tidak dapat memulai dan berhenti
Saya menemukan sintaks yang terakhir membingungkan.
node.js
cron
scheduled-tasks
pengguna379468
sumber
sumber
Jawaban:
Saya akan merekomendasikan
node-cron
. Hal ini memungkinkan untuk menjalankan tugas menggunakan pola Cron misalnyaTetapi juga jadwal yang lebih kompleks misalnya
Kode contoh : menjalankan pekerjaan setiap 10 menit:
Anda dapat menemukan lebih banyak contoh di wiki node-cron
Lebih lanjut tentang konfigurasi cron dapat ditemukan di cron wiki
Saya telah menggunakan perpustakaan itu di banyak proyek dan berhasil. Saya harap itu akan membantu.
sumber
Saya telah menggunakan node-cron dan agenda .
node-cron adalah pustaka yang sangat sederhana, yang menyediakan api yang sangat mendasar dan mudah dipahami seperti crontab. Tidak perlu konfigurasi dan hanya berfungsi.
Agenda sangat kuat dan cocok untuk layanan yang jauh lebih kompleks. Pikirkan tentang ifttt , Anda harus menjalankan jutaan tugas. Agenda akan menjadi pilihan terbaik.
Catatan: Anda perlu Mongodb untuk menggunakan Agenda
sumber
Saya pikir peringkat terbaiknya adalah
dan contoh jadwal simpul adalah di bawah ini:
Mungkin Anda dapat menemukan jawabannya dari modul simpul .
sumber
Saya telah menulis modul simpul yang menyediakan pembungkus setInterval menggunakan durasi saat menyediakan antarmuka deklaratif:
https://www.npmjs.com/package/every-moment
https://github.com/raygerrard/every-moment
sumber
node-cron
sebagai jawaban @Tom. dan memiliki sintaks yang bagus mirip dengan Anda.reel().call(() => console.log('hello !!')).everyMinute().run()
github.com/shakee93/node-reelsimpulJS default
https://nodejs.org/api/timers.html
sumber
Saya telah menulis modul kecil untuk melakukan hal itu, yang disebut timexe :
Install:
menggunakan:
Anda dapat mencapai fungsionalitas mulai / hentikan dengan menghapus / menambahkan kembali entri secara langsung di array pekerjaan timexe. Tapi itu bukan fungsi ekspres.
sumber