• 11-05-2022, 10:04:41
    #1
    Üyeliği durduruldu
    Merhabalar arkadaÅŸlar,

    PHP ile kendime bir e-ticaret sitesi oluşturuyorum. Netsis üzerinden veri çekiyorum json olarak ve gelen bu veriyi veritabanıma kaydettiriyorum. buraya kadar sorun yok. Kayıtlı 120 bin ürün var şimdi limit vererek 1000 tane çek tamamlayınca 2. sayfaya geç 1000 daha geç diye manuel yaptım 120 bin ürün bitmiyor bitmezde sürekli sürekli bununla kimse uğraşmaz. Var mıdır acaba farklı bir yolu alternatifi. limit alanına 120 bin girince zaman aşımı yapıyor zaten.

    $kac_veri_gelecek=1000;
    $kac_sayfa_gelecek = 1; //

    yukarıda mantık hangi sayfada kaç veri listeletsin.
    Örnek istek sorgum. $url2 = "http://netsis_sunucu_ipadresi_burada/api/v2/items?limit=".$kac_veri_gelecek."&offset=".$kac_sa yfa_gelecek;

    Bundan sonra gelen veriyi foreach alıp mysqli ile veritabanına kaydediyorum.

    Ben bu 120 bin ürünü sürekli yani en azından haftada bir kere güncellemem gerekecek fiyatlar değişiyor çünkü. ama bırak güncellemeyi daha ürünü ekleyemedim bile
  • 11-05-2022, 10:08:10
    #2
    Karşı taraftan limitli olarak veri çekebiliyor musun
    arvensan adlı üyeden alıntı: mesajı görüntüle
    Merhabalar arkadaÅŸlar,

    PHP ile kendime bir e-ticaret sitesi oluşturuyorum. Netsis üzerinden veri çekiyorum json olarak ve gelen bu veriyi veritabanıma kaydettiriyorum. buraya kadar sorun yok. Kayıtlı 120 bin ürün var şimdi limit vererek 1000 tane çek tamamlayınca 2. sayfaya geç 1000 daha geç diye manuel yaptım 120 bin ürün bitmiyor bitmezde sürekli sürekli bununla kimse uğraşmaz. Var mıdır acaba farklı bir yolu alternatifi. limit alanına 120 bin girince zaman aşımı yapıyor zaten.

    $kac_veri_gelecek=1000;
    $kac_sayfa_gelecek = 1; //

    yukarıda mantık hangi sayfada kaç veri listeletsin.
    Örnek istek sorgum. $url2 = "http://netsis_sunucu_ipadresi_burada/api/v2/items?limit=".$kac_veri_gelecek."&offset=".$kac_sa yfa_gelecek;

    Bundan sonra gelen veriyi foreach alıp mysqli ile veritabanına kaydediyorum.

    Ben bu 120 bin ürünü sürekli yani en azından haftada bir kere güncellemem gerekecek fiyatlar değişiyor çünkü. ama bırak güncellemeyi daha ürünü ekleyemedim bile
  • 11-05-2022, 10:10:38
    #3
    Üyeliği durduruldu
    Merhabalar hocam, Cronjob tanımlayın hergün çeksin 24 saate yayın rahatlıkla günceller, 15 dakikada bir çalıştırın 1250 veri çeksin, saatlik 5.000 veri güncellersiniz. Günlük 120.000 veri anlamına gelir. Sistemde zorlanmaz her şey otomatik olmuş olur
  • 11-05-2022, 10:11:21
    #4
    Üyeliği durduruldu
    muglali20 adlı üyeden alıntı: mesajı görüntüle
    Karşı taraftan limitli olarak veri çekebiliyor musun
    Evet hocam yukarıda kodda da belirttim gibi limit dediğimde orada 1000 girersem 1000 adet veri geliyor ve 1000 adet veriyi çekmiş oluyorum.

    Hatta ekrana bir form koydum 1000 yazıyorum sayfaya 1 yazıyorum 1000 taneyi çekiyor bitiriyor 1000 daha yazıyorum sayfayı 2 yazıyorum 2. sayfa 1000 getriiyor öyle öyle yüklemeye çalıştım 12000 ürün olunca bıraktım yeter dedim
  • 11-05-2022, 10:12:54
    #5
    Bu kadar yüksek veriyi işlemek için her zaman network bağlantısından kaçının.

    Önerim, veriyi yekpare excel dosyasına alıp, dosyayı SQL e convert edip tek seferde import etmeniz. Benzer yöntemlerle milyon veriyi defalarca aktardık.
  • 11-05-2022, 10:14:47
    #6
    O zaman Ajax ile sayfa yap 1. Safyayi çekip guncellesi bitince 2.sayfaya geçsin böyle devam etsin sayfayip açıp bırakırsın o kendi sayfaları sırayla yapar sayfa bitince durur en
    arvensan adlı üyeden alıntı: mesajı görüntüle
    Evet hocam yukarıda kodda da belirttim gibi limit dediğimde orada 1000 girersem 1000 adet veri geliyor ve 1000 adet veriyi çekmiş oluyorum.

    Hatta ekrana bir form koydum 1000 yazıyorum sayfaya 1 yazıyorum 1000 taneyi çekiyor bitiriyor 1000 daha yazıyorum sayfayı 2 yazıyorum 2. sayfa 1000 getriiyor öyle öyle yüklemeye çalıştım 12000 ürün olunca bıraktım yeter dedim
  • 11-05-2022, 10:17:27
    #7
    arvensan adlı üyeden alıntı: mesajı görüntüle
    Merhabalar arkadaÅŸlar,

    PHP ile kendime bir e-ticaret sitesi oluşturuyorum. Netsis üzerinden veri çekiyorum json olarak ve gelen bu veriyi veritabanıma kaydettiriyorum. buraya kadar sorun yok. Kayıtlı 120 bin ürün var şimdi limit vererek 1000 tane çek tamamlayınca 2. sayfaya geç 1000 daha geç diye manuel yaptım 120 bin ürün bitmiyor bitmezde sürekli sürekli bununla kimse uğraşmaz. Var mıdır acaba farklı bir yolu alternatifi. limit alanına 120 bin girince zaman aşımı yapıyor zaten.

    $kac_veri_gelecek=1000;
    $kac_sayfa_gelecek = 1; //

    yukarıda mantık hangi sayfada kaç veri listeletsin.
    Örnek istek sorgum. $url2 = "http://netsis_sunucu_ipadresi_burada/api/v2/items?limit=".$kac_veri_gelecek."&offset=".$kac_sa yfa_gelecek;

    Bundan sonra gelen veriyi foreach alıp mysqli ile veritabanına kaydediyorum.

    Ben bu 120 bin ürünü sürekli yani en azından haftada bir kere güncellemem gerekecek fiyatlar değişiyor çünkü. ama bırak güncellemeyi daha ürünü ekleyemedim bile
    Xml yapısını bilmiyorum fakat şu mantıktan yola çıkıp ilerleyebilirsiniz.
    Json response veren url size limit ve sayfa seçeneği sunuyorsa eğer şu şekilde yapabilirsiniz.

    $sayfa = 1;
    if(isset($_GET["sayfa"]) == true) $sayfa = $_GET["sayfa"];
    $response = curl('http://netsis_sunucu_ipadresi_burada/api/v2/items?limit=1000&offset='.$sayfa);
    if(eÄŸer veri gelsiyse iÅŸleme devam et) {//burada veri gelmediÄŸi durumda bir error parametresi varsa onu kontrol edebilirsin
    foreach($response as $item) {
    //buradaki iÅŸlemlere tamamen sizde
    }
    $sayfa = $sayfa + 1;

    //aşağıda ki işlem veriyi foreach ile çektikten sonra ikinci sayfa için sayfayı 10 saniye sonra yeniler.
    //sayfa $_get değerinde yeni sayfa değerini gönderir.
    echo '<meta http-equiv="refresh" content="10;url=http://bu-yazilimin-calistigi-sayfa/index.php?sayfa='.$sayfa" /> ';
    }

    kabaca bu mantıktan ilerleyebilirsin.
  • 11-05-2022, 10:19:11
    #8
    Üyeliği durduruldu
    radyotv adlı üyeden alıntı: mesajı görüntüle
    Bu kadar yüksek veriyi işlemek için her zaman network bağlantısından kaçının.

    Önerim, veriyi yekpare excel dosyasına alıp, dosyayı SQL e convert edip tek seferde import etmeniz. Benzer yöntemlerle milyon veriyi defalarca aktardık.

    Merhaba hocam burada excel convert derken biraz daha açar mısınız konuyu
  • 11-05-2022, 10:21:20
    #9
    Offset - Sayfa demek değildir, burada bir sorun yaşıyor olabilirsiniz.