Zamanlanmış işleri yapmak için crontime ifadelerini bilmeniz gerekir. Ancak bu paket sizi bu zahmetten kurtarıyor. Günlük hayatta kullanılan zamanlama ifadeleri ile crontime ifadeleri oluşturabilirsiniz. Ürettiğiniz bu crontime ifadesini zamanlanmış bir iş oluşturmak için kullanabilirsiniz. Geçerli bir crontime ifadesi döndürülür.
Herhangi bir cronjob paketi ile veya doğrudan işletim sistemlerinin sunduğu crontab komut setleritle birlikte kullanabilirsiniz. En ilkel komut setleriyle dahi çalışabilir. Çünkü bu paket doğrudan crontime ifadesi döner.
Projelerinizde çizelgeli, takvimsel işler oluştururken kolaylıkla bir arayüz sunabilirsiniz. İnsanların günlük hayatta kullandıkları dilde plan yapabilecekleri işlevler sunar.
Kurulum
npm ile:
1 2
npm i cronti # Yerel Kurulum. Özel bir projede kullanmak için. npm i -g cronti # Global Install. Genel projelerde kullanmak için.
Not: Eğer npm versiyonunuz 5.0.0’dan küçükse --save argumanı ekleyin.
Hızlı Başlangıç
Demo’da:
Demo projesini indir (rar). Proje dosyalarını rar’dan çıkar. Proje dizinine git. Nodejs ile index.js dosyasını çalıştır.
// Paketi Dahil Et const cronti = require("cronti")
/* İki tarih arasında düzenli aralıklarla çalışacak bir crontime ifadesi oluşturur. */ cronti.intervalTime("2022-04-25T09:30:00.000Z", "2022-05-15T09:30:00.000Z") /* - VEYA - */ cronti.intervalTime(newDate("2022-04-25 12:30"), newDate("2022-05-15 12:30")) /* çıktısı "30 12 25-15 4-5 *" */ /* ************************************************************************ */
/* Belirli bir tarihin crontime ifadesini oluşturun. */ cronti.onDate("2022-05-26T09:30:00.000Z") /* - VEYA - */ cronti.onDate(newDate("2022-05-26 12:30")) /* çıktısı "30 12 26 * *" */ /* ************************************************************************ */
/* Belirli bir tarihteki güne ait crontime ifadesi oluşturun. */ cronti.onDay("2022-05-26T09:30:00.000Z") /* - VEYA - */ cronti.onDay(newDate("2022-05-26 12:30")) /* çıktısı "30 12 26 5 *" */ /* ************************************************************************ */
/* month, week, weekDays, time ve tick parametrelerinin çeşitli kombinasyonlarla crontime ifadesi oluşturun. * Dikkat! Crontime ifadesi oluşturuldukları zamana göre değişir. Test edilme zamanı 27.05.2022'dir. */ cronti.onTime({month: 4, week: 2}) /* çıktısı "30 12 15-21 5 *" */ /* ---------------------------------------------------- */ cronti.onTime({month: 4, week: 2, weekDays: 3}) /* çıktısı "30 12 18 5 *" */ /* ---------------------------------------------------- */ cronti.onTime({month: 3, weekDays: 1}) /* çıktısı "30 12 * 4 1" */ /* ************************************************************************ */
/* Tarihindeki hafta için crontime ifadesi oluşturur. * Dikkat! Crontime ifadesi oluşturuldukları zamana göre değişir. Test edilme zamanı 27.05.2022'dir. */ cronti.onWeek("2022-05-26T09:30:00.000Z") /* - VEYA - */ cronti.onWeek(newDate("2022-05-26 12:30")) /* çıktısı "30 12 22-28 5-5 *" */ /* ************************************************************************ */
Başlangıç ve bitiş tarihine göre crontime ifadesi oluşturur. Step parametresine göre iki tarih arasında hangi aralıklarda çalışacağı belirtilir. Step parametresi gün, saat veya dakika olarak kullanılır.
Girilen tarihin crontime ifadesini döndürür. Bu ifadeye göre herr yıl tekrarlanır. Tik değerine göre girilen tarihten önce tetiklenecek olan crontime ifadesi döndürülür.
month, week, weekDays, time ve tick parametrelerinin çeşitli kombinasyonlarla crontime ifadesi oluşturun. Yalnızca time zorunlu bir değerdir. Tüm crontime ifadeleri bu zaman parametresine göre ayarlanır. tick değerine göre girilen tarihten önce tetiklenecek olan crontime ifadesi döndürülür.
Sadece month(0..11) ve week(0,1,2,-1) parametresi doldurulursa, haftanın ilk gününden o haftanın son gününe kadar her gün tetiklenecek olan crontime ifadesi oluşturulur.
Yalnızca month(0..11), week(0,1,2,-1) ve weekDays(0..6) parametreleri doldurulursa, haftanın o günü için crontime ifadesi döndürülür.
Yalnızca week(0,1,2,-1) parametresi doldurulursa, o hafta boyunca her gün tetiklenecek crontime ifadesi döndürülür. Ayın son haftası için hariç(-1).
Yalnızca month(0..11) parametresi doldurulursa, o aydaki her gün için crontime ifadesi döndürülür.
Yalnızca weekDays(0..6) parametresi doldurulursa, her ay bu haftanın günü için (pzt,sl,çrş,prş,cm,cmt,pz) crontime ifadesi döndürülür.
Yalnızca month(0..11) ve weekDays(0..6) parametreleri doldurulursa, bu ayın bu haftasının günü için crontime ifadesi döndürülür.
Hiçbir parametre doldurulmazsa, her ayın her günü için crontime ifadesi döndürülür.
Girdi
Parameter
Tip
Zorunluluk
Açıklama
options (destructuring param)
Object
evet
Seçenekler
options.month
Number
hayır
Crontime ifadesi için ay (0..11)
options.week
Number
hayır
Crontime ifadesi için hafta (0,1,2,-1)
options.weekDays
Number
hayır
Crontime ifadesi için haftanın günleri (0..6)
options.time
String <dd:mm>
hayır
Crontime ifadesi için zaman(gg:dd)
options.tick
Number
hayır
Tarihten çıkarılacak gün sayısı. Ay ve hafta parametreleri olmak zorundadır
options.firstDayOfWeek
Number
hayır
Haftanın ilk günü. 0 ile 6 arasında değerler alır. Varsayılan değer pazartesidir
// ! Crontime ifadesi oluşturuldukları zamana göre değişir. Test edilme zamanı 27.05.2022'dir. cronti.onTime({month: 4, week: 2}) // => "30 12 15-21 5 *"
// ! Crontime ifadesi oluşturuldukları zamana göre değişir. Test edilme zamanı 27.05.2022'dir. cronti.onTime({month: 4, week: 2, weekDays: 3}) // => "30 12 18 5 *"
// ! Crontime ifadesi oluşturuldukları zamana göre değişir. Test edilme zamanı 27.05.2022'dir. cronti.onTime({week: 0}) // => "30 12 1-7 * *"
// ! Crontime ifadesi oluşturuldukları zamana göre değişir. Test edilme zamanı 27.05.2022'dir. cronti.onTime({month: 2}) // => "30 12 * 3 *"
// ! Crontime ifadesi oluşturuldukları zamana göre değişir. Test edilme zamanı 27.05.2022'dir. cronti.onTime({weekDays: 6}) // => "30 12 * * 6"
// ! Crontime ifadesi oluşturuldukları zamana göre değişir. Test edilme zamanı 27.05.2022'dir. cronti.onTime({month: 3, weekDays: 1}) // => "30 12 * 4 1"
// ! Crontime ifadesi oluşturuldukları zamana göre değişir. Test edilme zamanı 27.05.2022'dir. cronti.onTime({}) // => "30 12 * * *"
// ! Crontime ifadesi oluşturuldukları zamana göre değişir. Test edilme zamanı 27.05.2022'dir. cronti.onTime({month: 4, week: 2, tick: 1}) // => "30 12 14-21 5 *"
// ! Crontime ifadesi oluşturuldukları zamana göre değişir. Test edilme zamanı 27.05.2022'dir. cronti.onTime({month: 2, time: "09:45"}) // => "45 09 * 3 *"
onWeek
Girilen tarihin haftasında, her gün tetiklenecek olan crontime ifadesi oluşturur. tick değerine göre girilen tarihten önce tetiklenecek olan crontime ifadesi döndürülür.
Girdi
Parametre
Tip
Zorunluluk
Açıklama
date
Date
evet
Crontime ifadesi için haftanın tarihi
tick
Number
hayır
Tarihten çıkarılacak gün sayıs
firstDayOfWeek
Number
hayır
Haftanın ilk günü. 0 ile 6 arasında değerler alır. Varsayılan değer pazartesidir