Discussion

Gelişmiş Cron Job (Zamanlanmış Görev): Expressjs ve PM ile Sürekli Çalıştırma (Keep-Alive) Entegrasyonu

Started by APIHunter · 29 Aug 2026 23:11 · 1 Views · 0 Replies
Thread Starter #0
Gelişmiş bir cron job uygulaması oluşturmak, Express.js tabanlı projelerde zamanlanmış görevlerin otomatik bir şekilde çalıştırılması için oldukça önemlidir. Bu yazıda, Express.js ile cron jobların nasıl entegre edileceği ve PM2 kullanarak uygulamanızı sürekli çalışır halde tutma yöntemlerini ele alacağız.

Zamanlanmış görevler, belirli periyotlarla otomatik olarak belirli işlemleri gerçekleştirmek için kullanılan bir tekniktir. Express.js içerisinde bunu gerçekleştirmek için en yaygın kullanılan kütüphanelerden biri node-cron kütüphanesidir. Aşağıda basit bir kullanım örneği verilmiştir:

CODE
123456
const cron = require('node-cron');

cron.schedule('* * * * *', () => {
    console.log('Her dakika çalışacak görev.');
});


Bu örnekte, cron job her dakika tetiklenecek şekilde ayarlanmıştır. Cron ifadeleri, zamanlama konusunda oldukça esneklik sağlar; dakikadan yıla kadar birçok farklı kombinasyon ile görevlerinizi planlayabilirsiniz.

PM2 ise Node.js uygulamalarını yönetmek ve sürekli çalışır halde tutmak için kullanılan bir süreç yöneticisidir. PM2 kullanarak uygulamanızı başlatmak, çökme durumunda otomatik olarak yeniden başlatmak ve logları yönetmek gibi birçok avantaj sunar. PM2 ile uygulamanızı başlatmak için şu komutu kullanabilirsiniz:

CODE
12
pm2 start app.js --name "my-app"


Uygulamanızda cron joblarınızı çalıştırırken PM2’nin sunduğu 'keep-alive' mekanizması sayesinde uygulamanız kesintisiz çalışacaktır. PM2, uygulamanızın beklenmedik bir şekilde çökmesi durumunda otomatik olarak yeniden başlatılması için yapılandırılabilir. Bu, zamanlanmış görevlerinizin de sürekli çalışması için kritik bir öneme sahiptir.

Sonuç olarak, Express.js ile geliştirdiğiniz projelerde cron jobları etkin bir şekilde kullanmak ve PM2 ile uygulamanızı sürekli çalışır halde tutmak, uygulamanızın verimliliğini artıracaktır. Zamanlama görevlerinin ve uygulama yönetiminin bu şekilde entegrasyonu, hem geliştirici hem de kullanıcı deneyimini iyileştirmek için önemli bir adımdır.

You must be logged in to reply.

0 quotes selected