Tartışma

Nodejs ile Cron Job (Zamanlanmış Görev) Geliştirme: CORS Hatası ve Docker ile Konteynerizasyon

Başlatan APIHunter · 29 Ağu 2026 20:50 · 0 Görüntülenme · 0 Yanıtlar
Konuyu Açan #0
Node.js, sunucu tarafında JavaScript çalıştırmak için popüler bir platformdur ve bu platformda zamanlanmış görevler oluşturmak için cron job'lar kullanmak oldukça yaygındır. Ancak, bu tür uygulamalarda CORS (Cross-Origin Resource Sharing) hataları ve Docker ile konteynerizasyon gibi konularla karşılaşmak da mümkündür. Bu yazıda, Node.js ile cron job geliştirme sürecinde yaşanabilecek CORS hatalarını ve Docker üzerinde konteynerizasyonun nasıl yapılacağını ele alacağız.

Öncelikle, Node.js ile cron job oluşturmak için genellikle node-cron gibi bir kütüphane kullanılır. Bu kütüphane, belirli zaman dilimlerinde belirli görevlerin otomatik olarak çalıştırılmasını sağlar. Örneğin, her gün saat 12:00'de veri tabanını yedeklemek için şu şekilde bir kod kullanılabilir:

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

cron.schedule('0 12 * * *', () => {
    console.log('Veri tabanı yedekleniyor...');
    // Yedekleme işlemleri
});


CORS hataları, genellikle tarayıcıda çalışan istemci kodunun, farklı bir kaynaktan (origin) gelen sunucu ile iletişim kurmaya çalıştığında ortaya çıkar. Bu sorun, sunucunun CORS ayarlarının doğru yapılandırılmaması nedeniyle meydana gelir. Node.js uygulamanızda CORS ayarlarını yapılandırmak için cors paketini kullanabilirsiniz:

CODE
12345const cors = require('cors');
const express = require('express');
const app = express();

app.use(cors()); // Tüm kaynaklar için CORS'u etkinleştir


Docker ile konteynerizasyon ise uygulamanızın bağımlılıkları ve ortamı ile birlikte paketlenmesini sağlar. Node.js uygulamanızı Docker üzerinde çalıştırmak için öncelikle bir Dockerfile oluşturmalısınız. Basit bir örnek olarak:

CODE
1234567891011FROM node:14

WORKDIR /usr/src/app

COPY package*.json ./
RUN npm install

COPY . .

EXPOSE 8080
CMD ["node", "app.js"]


Bu Dockerfile, uygulamanızın bağımlılıklarını yükler ve ardından uygulamanızı başlatır. Daha sonra docker build ve docker run komutları ile uygulamanızı çalıştırabilirsiniz.

Sonuç olarak, Node.js ile cron job geliştirmek, CORS hatalarını yönetmek ve Docker ile konteynerizasyon süreçleri, modern web uygulamalarının sağlıklı bir şekilde çalışabilmesi için kritik öneme sahiptir. Her bir aşamanın doğru bir şekilde yapılandırılması, uygulamanızın güvenilirliğini artıracaktır.

Yanıt vermek için giriş yapmış olmalısınız.

0 alıntı seçildi