Node.Js Setınterval Ram Tüketimi

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    biri
    biri's avatar
    Kayıt Tarihi: 03/Ocak/2009
    Erkek

    Merhabalar,

    Bir konuda fikir alışverişi yapmak istiyorum.

    Ortalama 1 saatte bir, bir sorgu yapıp veritabanına dönen sonucu eklemek istiyorum.

    Bunun için başlattığım app.js dosyası içinde setInterval olarak fonksiyon eklesem bu ram veya cpuda performans kaybı yaşatır mı?

      let say = 0;
      setInterval(function(){
        ++say;
        console.log('ok --> ' + say);
      }, 10 * 60 * 1000);


    Bu fonksiyon içinde sadece veritabanı işlemi yapılacak.


    ¯\(ツ)/¯ ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    biri
    biri's avatar
    Kayıt Tarihi: 03/Ocak/2009
    Erkek

    Stackoverflow'da bir yorum gördüm. Sanırım bir performans kaybına sebep olmuyor. Kullanımın sıfır olduğunu yazmışlar.

    https://stackoverflow.com/questions/12810622/nodejs-setinterval-bad-for-performance

    https://stackoverflow.com/a/12810810 


    ¯\(ツ)/¯ ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Reskam
    Reskam's avatar
    Kayıt Tarihi: 14/Mayıs/2012
    Erkek

    Merhaba Hocam,

     

    kaç tane Intervalin olacak ? 

    bildiğim kadarıyla kullanımın olmaması lazım built-in bir yapı olduğundan.

     

    Benimde bir sorum var hocam nanoSaniyelere  yakın çalışması gereken bir yapım var bunu şuan While(true) ile yapıyorum max performans veriyor diye düşünüyorum alternatif bir önerin var mı ?


    Memento Mori
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    yolbulucu
    yolbulucu's avatar
    Kayıt Tarihi: 06/Nisan/2007
    Homo

    db ye bir şeyler eklediğinde yada güncellediğinde frontende haber versen daha kolay ve anlık olabilir.

    websocket vs gözünü korkutuyor olabilir lakin şunu kullanabilirsin. bedava limitleri çok yüksek ve kullanması baya kolay. 2 satır kodla hallediyosun: pusher.com

     


    29.99cm, titanyum kaplamalı, çift damarlı, su ve yağ soğutmalı.
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    biri
    biri's avatar
    Kayıt Tarihi: 03/Ocak/2009
    Erkek
    yolbulucu bunu yazdı

    db ye bir şeyler eklediğinde yada güncellediğinde frontende haber versen daha kolay ve anlık olabilir.

    websocket vs gözünü korkutuyor olabilir lakin şunu kullanabilirsin. bedava limitleri çok yüksek ve kullanması baya kolay. 2 satır kodla hallediyosun: pusher.com

     

    Sorgulayıp veritabanına ekleyeceğim şeyler anlık sunucunun bilgileri hocam. Frontend tarafında falan görmek istediğim veriler değil.

    Yapmak istediğim aslında cron. Belli saatlerde sunucunun değerleri gerekiyor.


    ¯\(ツ)/¯ ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Retro
    by_Tet
    by_Tet's avatar
    Kayıt Tarihi: 22/Mayıs/2012
    Erkek

    Hocam cron için setInterval'i kullanma. Yüksek ihtimalle sapıtır. Her saniye 0.0005 saniye geri kalıyor gibi düşün hiçbir işlem yapmasa bile. CPU'nun yük altında olması osu busu derken her gün 1-2 dakikaya kadar interval kaçabilir. Saat 12:00'de dersin ama 11:59'dan 12:01'e geçer mesela

    Şunu kullan https://www.npmjs.com/package/cron

    Yok illa kendim yazacağım dersen

    process.hrtime kullanman gerecek https://nodejs.org/api/process.html#process_process_hrtime_time

    Paketi kullan geç kafa yorma

    const CronJob = require('cron').CronJob;
    const job = new CronJob('0 0 */1 * * *', function() {
      console.log('Saatte bir işlemler burada');
    });
    job.start();



    by_Tet tarafından 28/Şub/22 20:17 tarihinde düzenlenmiştir

    iyibu! yeniden..
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    biri
    biri's avatar
    Kayıt Tarihi: 03/Ocak/2009
    Erkek
    by_Tet bunu yazdı

    Hocam cron için setInterval'i kullanma. Yüksek ihtimalle sapıtır. Her saniye 0.0005 saniye geri kalıyor gibi düşün hiçbir işlem yapmasa bile. CPU'nun yük altında olması osu busu derken her gün 1-2 dakikaya kadar interval kaçabilir. Saat 12:00'de dersin ama 11:59'dan 12:01'e geçer mesela

    Şunu kullan https://www.npmjs.com/package/cron

    Yok illa kendim yazacağım dersen

    process.hrtime kullanman gerecek https://nodejs.org/api/process.html#process_process_hrtime_time

    Paketi kullan geç kafa yorma

    const CronJob = require('cron').CronJob;
    const job = new CronJob('0 0 */1 * * *', function() {
      console.log('Saatte bir işlemler burada');
    });
    job.start();



    Bunu görmüştüm ama bunun için paket kullanmaya değer mi diye düşünüyorum açıkçası.

    Çünkü tek yapması gereken değerleri saatte bir veritabanına eklemesi. Çok dakik bir iş olmayacak hocam.

    Nedir düşüncen? setInterval mi yoksa boşver onu node-cron kur geç mi. :)


    ¯\(ツ)/¯ ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Retro
    by_Tet
    by_Tet's avatar
    Kayıt Tarihi: 22/Mayıs/2012
    Erkek
    biri bunu yazdı
    by_Tet bunu yazdı

    Hocam cron için setInterval'i kullanma. Yüksek ihtimalle sapıtır. Her saniye 0.0005 saniye geri kalıyor gibi düşün hiçbir işlem yapmasa bile. CPU'nun yük altında olması osu busu derken her gün 1-2 dakikaya kadar interval kaçabilir. Saat 12:00'de dersin ama 11:59'dan 12:01'e geçer mesela

    Şunu kullan https://www.npmjs.com/package/cron

    Yok illa kendim yazacağım dersen

    process.hrtime kullanman gerecek https://nodejs.org/api/process.html#process_process_hrtime_time

    Paketi kullan geç kafa yorma

    const CronJob = require('cron').CronJob;
    const job = new CronJob('0 0 */1 * * *', function() {
      console.log('Saatte bir işlemler burada');
    });
    job.start();



    Bunu görmüştüm ama bunun için paket kullanmaya değer mi diye düşünüyorum açıkçası.

    Çünkü tek yapması gereken değerleri saatte bir veritabanına eklemesi. Çok dakik bir iş olmayacak hocam.

    Nedir düşüncen? setInterval mi yoksa boşver onu node-cron kur geç mi. :)

    setInterval kullan geç o zaman hocam :) 1 saat olmaz bazen 1saat 1dk felan olur çok mühim değilse uğraşma.

    Hiçbir yükü olmaz, işlemcide değil lapic/hpet (artık anakartın timeri her ne ise) orada süre tutulur

    **ek olarak konudan bağımsız; paket kullanmaktan korkma hocam node.js'te. Javascript kodların assembly'e çevriliyor zaten, gerekli gereksiz ne varsa onu node.js hallediyor. Sen performans olarak "çok koda" değil sadece kodunun işlem yüküne odaklan.

    by_Tet tarafından 28/Şub/22 20:38 tarihinde düzenlenmiştir

    iyibu! yeniden..
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    biri
    biri's avatar
    Kayıt Tarihi: 03/Ocak/2009
    Erkek
    by_Tet bunu yazdı
    biri bunu yazdı
    by_Tet bunu yazdı

    Hocam cron için setInterval'i kullanma. Yüksek ihtimalle sapıtır. Her saniye 0.0005 saniye geri kalıyor gibi düşün hiçbir işlem yapmasa bile. CPU'nun yük altında olması osu busu derken her gün 1-2 dakikaya kadar interval kaçabilir. Saat 12:00'de dersin ama 11:59'dan 12:01'e geçer mesela

    Şunu kullan https://www.npmjs.com/package/cron

    Yok illa kendim yazacağım dersen

    process.hrtime kullanman gerecek https://nodejs.org/api/process.html#process_process_hrtime_time

    Paketi kullan geç kafa yorma

    const CronJob = require('cron').CronJob;
    const job = new CronJob('0 0 */1 * * *', function() {
      console.log('Saatte bir işlemler burada');
    });
    job.start();



    Bunu görmüştüm ama bunun için paket kullanmaya değer mi diye düşünüyorum açıkçası.

    Çünkü tek yapması gereken değerleri saatte bir veritabanına eklemesi. Çok dakik bir iş olmayacak hocam.

    Nedir düşüncen? setInterval mi yoksa boşver onu node-cron kur geç mi. :)

    setInterval kullan geç o zaman hocam :) 1 saat olmaz bazen 1saat 1dk felan olur çok mühim değilse uğraşma.

    Hiçbir yükü olmaz, işlemcide değil lapic/hpet (artık anakartın timeri her ne ise) orada süre tutulur

    **ek olarak konudan bağımsız; paket kullanmaktan korkma hocam node.js'te. Javascript kodların assembly'e çevriliyor zaten, gerekli gereksiz ne varsa onu node.js hallediyor. Sen performans olarak "çok koda" değil sadece kodunun işlem yüküne odaklan.

    Harika bilgiler. Çok teşekkür ederim. Paket yüklemekten korkuyordum açıkçası.

    Saat çok önemli değil bu projede. Ortalama 1 saat yeterli. 55 dk olmuş, 65 dk olmuş çok önemli değil o gecikmeler. :)


    ¯\(ツ)/¯ ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    emirhan-exp
    emirhan-exp's avatar
    Kayıt Tarihi: 10/Ocak/2010
    Erkek

             

    emirhan-exp tarafından 28/Şub/22 22:32 tarihinde düzenlenmiştir
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Elif - Efe
    rakkoc
    rakkoc's avatar
    Kayıt Tarihi: 19/Aralık/2003
    Homo

    Bu tarz işler de server içinde için AgendaJS kullanıyorum. Çok memnunum. AgenDash diye bir dash board plug'ini de var. inanilmaz güzel calisiyor.

    client de ise setInterval de olur cronJs de olur 100 tane interval yoksa performans cok fark etmez.


    Bu aralar fazla yogunum. Unuttugum seyler oluyorsa affola. DM vs atın.
Toplam Hit: 2291 Toplam Mesaj: 12
soru