Zamanlanmış işler oluşturmanızı sağlar. Diğer paketlerden farklı olarak cronti paketinin gücünü kullanır. Yani zamanlanmış işler oluşturmak için crontime ifadelerine hakim olmanız gerekmez.
Benzer işi yapan diğer paketlerden farklı olarak crontime ifadelerine hakimiyet gerektirmez. Bu konuda diğer paketlerin de tarih girişi desteği var. Fakat bu tarihi de sizin hesaplayıp girmeniz gerekir. cronjo paketinde böyle bir hesaplama yapmanıza da gerek yok. Çünkü cronti paketinin gücünü kullanır.
cronti paketinin gücüyle günlük hayatta kullanılan zamanlama/planlama ifadelerini kullanarak zamanlanmış işler oluşturabilirsiniz.
npm ile:
npm i cronjo # Yerel Kurulum. Özel bir projede kullanmak için.
npm i -g cronjo # Global Install. Genel projelerde kullanmak için.
Not: Eğer npm versiyonunuz 5.0.0'dan küçükse --save
argumanı ekleyin.
// Paketi Dahil Et
const cronjo = require("cronjo")
// Zamanlanmış İş Oluştur
let schedule = cronjo((scheduleId) => { console.log("OK", scheduleId) }, "19 * * * *")
// Kullanılabilir Özellikler
console.log(schedule.id)
console.log(schedule.expression)
console.log(schedule.job)
console.log(schedule.firstDayOfWeek)
console.log(schedule.name)
console.log(schedule.fireDate)
console.log(schedule.nextDates)
console.log(schedule.cancel)
// Kurulu İşler
console.log(cronjo())
// Yardımcı Fonksiyonlar
console.log(cronjo("HELPERS"))
console.log(cronjo({method: "HELPERS" /* VEYA method: -1*/}))
cronti paketinin getirdiği özellikler ile:
// Paketi Dahil Et
const cronjo = require("cronjo")
// İki Tarih Arasında Düzenli Aralıklarla Çalışacak Zamanlanmış İş Oluştur
let schedule = cronjo({
job(scheduleId) { console.log("OK", scheduleId) },
method: "onIntervalTime" // VEYA -> method: 1
}, "2022-04-25T09:30:00.000Z", "2022-05-15T09:30:00.000Z")
// Geçerli Crontime İfadesi ile Zamanlanmış İş Oluştur
let schedule = cronjo({
job(scheduleId) { console.log("OK", scheduleId) },
method: "onCrontime" // VEYA -> method: 3
}, "0 2 * * *")
// Belirli Bir Tarih için Zamanlanmış İş Oluştur
let schedule = cronjo({
job(scheduleId) { console.log("OK", scheduleId) },
method: "onDate" // VEYA -> method: 4
}, "2022-05-26T09:30:00.000Z")
// Ay, Hafta, Haftanın Günü, Saat ve Tick Parametrelerinin Çeşitli Kombinasyonlarıyla Zamanlanmış İş Oluştur
let schedule = cronjo({
job(scheduleId) { console.log("OK", scheduleId) },
method: "onTime" // VEYA -> method: 2
}, "0FD", "4M", "2W", "3WD")
// Tarihindeki Hafta için Zamanlanmış İş Oluştur
let schedule = cronjo({
job(scheduleId) { console.log("OK", scheduleId) },
method: "onWeek" // VEYA -> method: 0
}, "2022-05-26T09:30:00.000Z")
// Kullanılabilir Özellikler
console.log(schedule.id)
console.log(schedule.expression)
console.log(schedule.job)
console.log(schedule.firstDayOfWeek)
console.log(schedule.name)
console.log(schedule.fireDate)
console.log(schedule.nextDates)
console.log(schedule.cancel)
// Kurulu İşler
console.log(cronjo())
// Yardımcı Fonksiyonlar
console.log(cronjo("HELPERS"))
console.log(cronjo({method: "HELPERS" /* VEYA method: -1*/}))
cronjo
fonksiyonu, ilk parametrede job fonksiyonu, options veya "HELPERS" değerini alabilir veya hiç değer almaz.
Eğer job fonksiyonu ile kullanılırsa ikinci parametreye crontime ifadesi yazılmalıdır.
Eğer options değerleri ile kullanılırsa sonraki parametreler cronti paketindeki isterlere uygun şekilde doldurulur.
Eğer "HELPERS" ile kullanılırsa sonrasında parametre girişine ihtiyaç yoktur.
Eğer hiç parametre değeri gönderilmezse oluşturulmuş tüm zamanlanmış işleri döner.
cronjo(<job(function)|options(object)|"HELPERS"(string)>, <crontime(string)|...args>)
Zamanlanmış iş oluştururken crontime ifadesi kullanılmak istendiğinde kullanılabilir. İlk parametreye job fonksiyonu girilir. İkinci parametreye geçerli bir crontime ifadesi girilir.
Job fonksiyonuna zamanlanmış işin id'si parametre olarak gönderilir.
Parametre | Tip | Zorunluluk | Açıklama |
---|---|---|---|
job | Function | evet | Zamanlanmış işin fonksiyonu |
expression | String | evet | Zamanlanmış işin kurulacağı crontime ifadesi |
Parametre | Tip | Açıklama |
---|---|---|
id | Number | Zamanlanmış işin id'si |
expression | String | Zamanlanmış işin crontime ifadesi |
job | Function | Zamanlanmış işin fonksiyonu |
firstDayOfWeek | Number | Zamanlanmış işin kurulmasında kullanılan haftanın başlangıç günü |
name | String | Zamanlanmış işin adı |
fireDate | Function | Zamanlanmış işin tetikleneceği zamanı dönen fonksiyon |
nextDates | Function | Zamanlanmış işin tetikleneceği zamanların listesini dönen fonksiyon |
cancel | Function | Zamanlanmış işin iptal eden fonksiyon |
const cronjo = require("cronjo")
cronjo((scheduleId) => { console.log("OK", scheduleId) }, "0 12 * * *")
4 adet özellik sunulmaktadır. Bunlar method, job, name ve firstDayOfWeek isimleriyle anılır.
Özellik | Açıklama |
---|---|
method | Zamanlanmış işi oluştururken kullanılacak cronti metodu |
job | Zamanlanmış işin fonksiyonu |
name | Zamanlanmış işin adı |
firstDayOfWeek | Zamanlanmış işin kurulmasında kullanılan haftanın başlangıç günü |
cronti paketinin getirdiği özellikleri ele alınmıştır. Tek farklı özelliği "HELPERS" metodunda vardır.
Bu metod cronjo
paketindeki yardımcı fonksiyonları döner.
Metod | Indeks | Ad | Açıklama |
---|---|---|---|
onWeek | 0 | onWeek | Tarihin bulunduğu hafta için zamanlanmış iş oluşturur |
onIntervalTime | 1 | onIntervalTime | İki tarih arasında düzenli aralıklarla çalışacak bir zamanlanmış iş oluşturur |
onTime | 2 | onTime | Ay, hafta, haftanın günü, saat, dakika ve tick gibi çeşitli kombinasyonlarla zamanlanmış iş oluşturur |
onCrontime | 3 | onCrontime | Geçerli crontime ifadesine göre zamanlanmış iş oluşturur |
onDate | 4 | onDate | Belirli bir tarih için zamanlanmış iş oluşturur |
HELPERS | -1 | HELPERS | cronjo paketindeki yardımcı fonksiyonlarını döner |
Girilen tarihin haftasında, her gün tetiklenecek olan zamanlanmış iş oluşturmak için kullanılır. tick değerine göre girilen tarihten önce tetiklenecek olan zamanlanmış işi oluşturur.
Parametre olarak geçerli bir tarih değeri gönderilmelidir. Tik değeri için herhangi bir sayısal değer kullanılabilir.
Parametre | Tip | Zorunluluk | Açıklama |
---|---|---|---|
args.<date> | Date | evet | Crontime ifadesi için haftanın tarihi |
args.<tick> | Number | hayır | Tarihten çıkarılacak gün sayıs |
args.<firstDayOfWeek> | String | hayır | Haftanın ilk günü. 0 ile 6 arasında değerler alır. <sayı>FD değerini alır. Varsayılan değer pazartesidir |
Parametre | Tip | Açıklama |
---|---|---|
id | Number | Zamanlanmış işin id'si |
expression | String | Zamanlanmış işin crontime ifadesi |
job | Function | Zamanlanmış işin fonksiyonu |
firstDayOfWeek | Number | Zamanlanmış işin kurulmasında kullanılan haftanın başlangıç günü |
name | String | Zamanlanmış işin adı |
fireDate | Function | Zamanlanmış işin tetikleneceği zamanı dönen fonksiyon |
nextDates | Function | Zamanlanmış işin tetikleneceği zamanların listesini dönen fonksiyon |
cancel | Function | Zamanlanmış işin iptal eden fonksiyon |
const cronjo = require("cronjo")
cronjo({
job(scheduleId) { console.log("OK", scheduleId) },
method: "onWeek" // VEYA -> method: 0
}, "2022-05-26T09:30:00.000Z")
Başlangıç ve bitiş tarihine göre zamanlanmış iş oluşturmak için kullanılır. 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.
Parametrelerde 2 tarih değeri olmalıdır. Bu tarihlerin sırası önemli değildir. Daha küçük olan startDate, daha büyük olan endDate olarak kullanılacaktır. Step parametresi için paterne uygun bir string değeri kullanabilirsiniz.
Parametre | Tip | Zorunluluk | Açıklama |
---|---|---|---|
args.<startDate> | Date | evet | Cron başlangıç tarihi |
args.<endDate> | Date | evet | Cron bitiş tarihi |
args.<step> | String <.d | .h | .m> | hayır | Hangi adımlarda çalıştırılacağını belirtir. |
Parametre | Tip | Açıklama |
---|---|---|
id | Number | Zamanlanmış işin id'si |
expression | String | Zamanlanmış işin crontime ifadesi |
job | Function | Zamanlanmış işin fonksiyonu |
firstDayOfWeek | Number | Zamanlanmış işin kurulmasında kullanılan haftanın başlangıç günü |
name | String | Zamanlanmış işin adı |
fireDate | Function | Zamanlanmış işin tetikleneceği zamanı dönen fonksiyon |
nextDates | Function | Zamanlanmış işin tetikleneceği zamanların listesini dönen fonksiyon |
cancel | Function | Zamanlanmış işin iptal eden fonksiyon |
const cronjo = require("cronjo")
cronjo({
job(scheduleId) { console.log("OK", scheduleId) },
method: "onIntervalTime" // VEYA -> method: 1
}, "2022-04-25T09:30:00.000Z", "2022-05-15T09:30:00.000Z")
Ay, hafta, haftanın günü, saat, dakika ve tick gibi çeşitli kombinasyonlarla zamanlanmış iş oluşturmak için kullanılır. Yalnızca time zorunlu bir değerdir. Tüm crontime ifadeleri bu zaman parametresine göre ayarlanır. tick değerine göre zamanlanmış iş girilen tarihten önce tetiklenecek şekilde oluşturulur.
- 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 zamanlanmış iş 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 zamanlanmış iş oluşturulur.
- Yalnızca week(0,1,2,-1) parametresi doldurulursa, o hafta boyunca her gün tetiklenecek zamanlanmış iş oluşturulur. Ayın son haftası için hariç(-1).
- Yalnızca month(0..11) parametresi doldurulursa, o aydaki her gün için zamanlanmış iş oluşturulur.
- Yalnızca weekDays(0..6) parametresi doldurulursa, her ay bu haftanın günü için (pzt,sl,çrş,prş,cm,cmt,pz) zamanlanmış iş oluşturulur.
- Yalnızca month(0..11) ve weekDays(0..6) parametreleri doldurulursa, bu ayın bu haftasının günü için zamanlanmış iş oluşturulur.
- Hiçbir parametre doldurulmazsa, her ayın her günü için zamanlanmış iş oluşturulur.
Geçerli bir ay, hafta veya hafta içi parametre değeri gönderilebilir. Paterne göre zaman parametresi gönderilebilir. Tick değeri için herhangi bir sayısal değer kullanılabilir.
Parameter | Tip | Zorunluluk | Açıklama |
---|---|---|---|
args.<month> | String <..M> | hayır | Crontime ifadesi için ay. 0 ile 11 arasında değerler alır. <sayı>M değerini alır. |
args.<week> | String <..W> | hayır | Crontime ifadesi için hafta. 0, 1, 2 ve -1 değerlerini alır. <sayı>W değerini alır. |
args.<weekDays> | String <..WD> | hayır | Crontime ifadesi için hafta içi günler. 0 ile 6 arasında değerler alır. <sayı>WD değerini alır. |
args.<time> | String <dd:mm> | hayır | Crontime ifadesi için zaman(gg:dd) |
args.<tick> | Number | hayır | Tarihten çıkarılacak gün sayısı. Ay ve hafta parametreleri olmak zorundadır |
args.<firstDayOfWeek> | String | hayır | Haftanın ilk günü. 0 ile 6 arasında değerler alır. <sayı>FD değerini alır. Varsayılan değer pazartesidir |
Parametre | Tip | Açıklama |
---|---|---|
id | Number | Zamanlanmış işin id'si |
expression | String | Zamanlanmış işin crontime ifadesi |
job | Function | Zamanlanmış işin fonksiyonu |
firstDayOfWeek | Number | Zamanlanmış işin kurulmasında kullanılan haftanın başlangıç günü |
name | String | Zamanlanmış işin adı |
fireDate | Function | Zamanlanmış işin tetikleneceği zamanı dönen fonksiyon |
nextDates | Function | Zamanlanmış işin tetikleneceği zamanların listesini dönen fonksiyon |
cancel | Function | Zamanlanmış işin iptal eden fonksiyon |
const cronjo = require("cronjo")
cronjo({
job(scheduleId) { console.log("OK", scheduleId) },
method: "onTime" // VEYA -> method: 2
}, "0FD", "4M", "2W", "3WD")
Geçerli crontime ifadesine göre zamanlanmış iş olururken kullanılır.
Parametre | Tip | Zorunluluk | Açıklama |
---|---|---|---|
args.<crontime> | String | evet | Crontime ifadesi |
Parametre | Tip | Açıklama |
---|---|---|
id | Number | Zamanlanmış işin id'si |
expression | String | Zamanlanmış işin crontime ifadesi |
job | Function | Zamanlanmış işin fonksiyonu |
firstDayOfWeek | Number | Zamanlanmış işin kurulmasında kullanılan haftanın başlangıç günü |
name | String | Zamanlanmış işin adı |
fireDate | Function | Zamanlanmış işin tetikleneceği zamanı dönen fonksiyon |
nextDates | Function | Zamanlanmış işin tetikleneceği zamanların listesini dönen fonksiyon |
cancel | Function | Zamanlanmış işin iptal eden fonksiyon |
const cronjo = require("cronjo")
cronjo({
job(scheduleId) { console.log("OK", scheduleId) },
method: "onCrontime" // VEYA -> method: 3
}, "0 2 * * *")
Girilen tarih değerine göre zamanlanmış iş oluştururken kullanılır. Her ay veya sadece tarihin ayı ve her yıl tekrarlanacak şekilde oluşturulur. Tick değerine göre girilen tarihten önce tetiklenecek şekilde oluşturulur.
Parametre olarak geçerli bir tarih değeri gönderilmelidir.
Parametre | Tip | Zorunluluk | Açıklama |
---|---|---|---|
args.<date> | Date | evet | Crontime ifadesi için kullanılan tarih |
args.<tick> | Number | hayır | Tarihten çıkarılacak gün sayısı. Ay ve hafta parametreleri olmak zorundadır |
args.<isMonthOfDate> | Boolean | hayır | Yalnızca tarihin ayında yürüt |
Parametre | Tip | Açıklama |
---|---|---|
id | Number | Zamanlanmış işin id'si |
expression | String | Zamanlanmış işin crontime ifadesi |
job | Function | Zamanlanmış işin fonksiyonu |
firstDayOfWeek | Number | Zamanlanmış işin kurulmasında kullanılan haftanın başlangıç günü |
name | String | Zamanlanmış işin adı |
fireDate | Function | Zamanlanmış işin tetikleneceği zamanı dönen fonksiyon |
nextDates | Function | Zamanlanmış işin tetikleneceği zamanların listesini dönen fonksiyon |
cancel | Function | Zamanlanmış işin iptal eden fonksiyon |
const cronjo = require("cronjo")
cronjo({
job(scheduleId) { console.log("OK", scheduleId) },
method: "onDate" // VEYA -> method: 4
}, "2022-05-26T09:30:00.000Z")
Zamanlanmış iş tetiklendiğinde çağrılacak fonksiyon. Bu fonksiyona parametre olarak zamanlanmış işin id'si gönderilir.
Zamanlanmış işin ismidir.
Zamanlanmış işin oluşturulmasında kullanılan bir konfigürasyon değeridir. Haftanın başladığı günü ayarlamak için kullanılır. Varsayılan olarak pazar günü başlangıç kabul edilir.
Lütfen paket ile ilgili geri bildirimlerinizi yapın. Herhangi bir hata(bug) ile karşılaştığınızda lütfen issues oluşturun. En kısa sürede geri bildirimlerinize cevap vereceğim.
Bakımını Yapanlar:
- Levent Sencer Şahin : LinkedIn:@buglss | Blog:@buglss | Facebook:@cebuglssio | Twitter:@cebuglss | Instagram:@cebuglss
Telif hakkı Levent Sencer Şahin ve diğer katkıda bulunanlar, Apache-2.0 kapsamında.