Discussion

Sıfırdan Kripto Fiyat Takip Botu: Nodejs ile Toplu İstek (Batch Request) Atma ve Timeout (Süre Aşımı) Sorunları Yönetimi

Started by RootVision · 31 Aug 2026 01:51 · 4 Views · 0 Replies
Thread Starter #0
Kripto para piyasası, dinamik yapısıyla sürekli değişkenlik göstermektedir. Bu nedenle, fiyat bilgilerini anlık olarak takip etmek isteyen geliştiriciler için etkili bir araç oluşturmak oldukça önemlidir. Bu yazıda, Node.js kullanarak sıfırdan bir kripto fiyat takip botu oluşturmayı ve toplu istek atma ile süre aşımı sorunlarını nasıl yöneteceğimizi ele alacağız.

Öncelikle, Node.js ortamında çalışmak için axios kütüphanesini kullanarak API istekleri gerçekleştireceğiz. Aşağıdaki örnek, birden fazla kripto para biriminin fiyatını toplu olarak çekmek için kullanılabilir:

CODE
12345678910111213141516const axios = require('axios');

async function fetchPrices(coinIds) {
    try {
        const response = await axios.get(`https://api.coingecko.com/api/v3/simple/price?ids=${coinIds.join(',')}&vs_currencies=usd`);
        return response.data;
    } catch (error) {
        console.error('API isteği sırasında bir hata oluştu:', error);
        return null;
    }
}

const coins = ['bitcoin', 'ethereum', 'dogecoin'];
fetchPrices(coins).then(prices => {
    console.log('Fiyatlar:', prices);
});


Bu kod parçası, CoinGecko API'sini kullanarak belirtilen kripto para birimlerinin fiyatlarını çeker. Ancak, API'lerin belirli bir süre içerisinde kaç istek kabul ettiğini göz önünde bulundurmalıyız. Aksi takdirde, "429 Too Many Requests" hatası alabiliriz. Bu durumu yönetmek için, isteklere belirli bir bekleme süresi ekleyebiliriz.

Bir başka önemli nokta ise süre aşımı (timeout) sorunlarının yönetimidir. API isteği belirli bir süre içerisinde tamamlanmadığında, isteği iptal etmek gerekebilir. Aşağıdaki örnekte, isteğe bir süre aşımı ekleyerek bu durumu yönetiyoruz:

CODE
1234567891011121314151617async function fetchPricesWithTimeout(coinIds, timeout) {
    try {
        const response = await axios.get(`https://api.coingecko.com/api/v3/simple/price?ids=${coinIds.join(',')}&vs_currencies=usd`, { timeout: timeout });
        return response.data;
    } catch (error) {
        if (error.code === 'ECONNABORTED') {
            console.error('İstek süre aşımına uğradı.');
        } else {
            console.error('API isteği sırasında bir hata oluştu:', error);
        }
        return null;
    }
}

fetchPricesWithTimeout(coins, 5000).then(prices => {
    console.log('Fiyatlar:', prices);
});


Bu örnekle, isteğin 5 saniye içinde tamamlanmaması durumunda bir hata mesajı alacağız. Bu tür bir yapı, fiyat takip botunuzun daha sağlam ve güvenilir çalışmasını sağlar.

Sonuç olarak, Node.js ile sıfırdan bir kripto fiyat takip botu geliştirmek, etkili bir şekilde toplu istekler yaparak ve süre aşımı sorunlarını yöneterek oldukça mümkündür. Geliştirmeniz gereken farklı özellikler veya karşılaştığınız zorluklar hakkında daha fazla bilgi paylaşabilirsiniz.

You must be logged in to reply.

0 quotes selected