Konuyu Açan
#0
Node.js ile zamanlanmış görevler oluşturmak oldukça yaygın bir uygulamadır. Bu tür görevler, belirli aralıklarla otomatik olarak çalışan işlemler gerektirir. Özellikle veri çekme (web scraping) gibi işlemler için kullanışlıdır. Bu yazıda, Node.js ile cron job oluşturarak veri çekme işlemi nasıl gerçekleştirilir, bu süreçte PM2 kullanarak uygulamanın sürekli çalışmasını nasıl sağlarız, detaylı bir şekilde ele alacağız.
Node.js ile Cron Job Oluşturma
Node.js ile cron job oluşturmak için genellikle
Yukarıdaki kod, her 5 dakikada bir çalışacak bir görev tanımlar.
Veri Çekme İşlemi
Web scraping işlemi için
Bu fonksiyon, belirtilen URL’den veriyi çeker ve konsola yazdırır. Bu fonksiyonu cron job ile birleştirerek her 5 dakikada bir veri çekme işlemi gerçekleştirebilirsiniz.
PM2 ile Keep-Alive
Uygulamanızın sürekli çalışmasını sağlamak için PM2 gibi bir işlem yöneticisi kullanabilirsiniz. PM2, Node.js uygulamalarını yönetmek ve ölçeklendirmek için tasarlanmış bir araçtır. Uygulamanızı PM2 ile başlatmak için aşağıdaki komutu kullanabilirsiniz:
PM2, uygulamanızın çökmesi durumunda otomatik olarak yeniden başlatılmasını sağlar ve ayrıca durumunu takip etmenizi kolaylaştırır.
Sonuç olarak, Node.js ile cron job oluşturmak, veri çekme işlemlerini otomatikleştirmek için oldukça etkili bir yöntemdir.
Node.js ile Cron Job Oluşturma
Node.js ile cron job oluşturmak için genellikle
node-cron modülü kullanılır. Bu modül, zamanlı görevler oluşturmayı kolaylaştırır. Örnek bir kullanım aşağıdaki gibidir:CODE
123456
const cron = require('node-cron');
cron.schedule('[i]/5 [/i] * * *', () => {
console.log('Her 5 dakikada bir çalıştırılacak görev.');
});
Yukarıdaki kod, her 5 dakikada bir çalışacak bir görev tanımlar.
cron.schedule() metoduna verilen ifade, cron formatında zamanlamayı belirtir.Veri Çekme İşlemi
Web scraping işlemi için
axios veya puppeteer gibi kütüphaneler kullanılabilir. Örneğin, axios ile basit bir HTTP isteği yapmak için aşağıdaki kodu kullanabilirsiniz:CODE
1234567891011
const axios = require('axios');
const fetchData = async () => {
try {
const response = await axios.get('https://example.com');
console.log(response.data);
} catch (error) {
console.error('Hata:', error);
}
};
Bu fonksiyon, belirtilen URL’den veriyi çeker ve konsola yazdırır. Bu fonksiyonu cron job ile birleştirerek her 5 dakikada bir veri çekme işlemi gerçekleştirebilirsiniz.
PM2 ile Keep-Alive
Uygulamanızın sürekli çalışmasını sağlamak için PM2 gibi bir işlem yöneticisi kullanabilirsiniz. PM2, Node.js uygulamalarını yönetmek ve ölçeklendirmek için tasarlanmış bir araçtır. Uygulamanızı PM2 ile başlatmak için aşağıdaki komutu kullanabilirsiniz:
CODE
12
pm2 start app.js --name "my-cron-job"
PM2, uygulamanızın çökmesi durumunda otomatik olarak yeniden başlatılmasını sağlar ve ayrıca durumunu takip etmenizi kolaylaştırır.
Sonuç olarak, Node.js ile cron job oluşturmak, veri çekme işlemlerini otomatikleştirmek için oldukça etkili bir yöntemdir.
node-cron modülü ile zamanlanmış görevler tanımlayabilir, axios kullanarak veri çekebilir ve PM2 ile uygulamanızın sürekli çalışmasını sağlayabilirsiniz. Bu yöntemler, özellikle veri analizi veya otomatik raporlama gibi alanlarda faydalı olabilir.