• 20-12-2020, 21:59:35
    #1
    herkese iyi forumlar arkadaşlar,
    şimdi yapmak istediğim şöyle bişey var,
    elimde link olarak json çıktısı olan bir yapı mevcut link'e girildiğinde 200 adet veri göstermekte linki sayfa=2 yaparak diğer 200 veri dökülüyor ve bende bunları veritabanıma insert yada update işlemi yaptırıyorum,
    bu zamana kadar bu işlemi tarayıcı ile manuel yapıyordum ancak sayfalar çoğaldıkça işlem uzamaya başladı bende bu işlemi cron job ile otomatiğe bağlamak istiyorum,
    cronjob ile saatte bir bu işlemi yaptırıcam ve her işlem yapılacağında 1. sayfayı çekeceği için 1 saat sonra diğer sayfayı yaptırmak sonraki saat diğer sayfayı ve son sayfayı yaptıktan sonra tekrar 1. sayfayı yapması için nasıl bir yol izlemeliyim.

    aklıma gelen ilk yol; sayfaya girdiğinde o sayfa numarasını veritabanında bir sütuna +1 kaydedip sonraki işlemde o sütundaki sayıyı çekip işlem yaptırtmak,
    sayfa sayısı totalde değişken bugün toplam sayfa sayısı 13 ise 2 gün sonra 16 olabilir,
    yukardaki işlemi yaptıracak olursam mesela son sayfa olan 13ü yaptığında veritabanına +1 olarak sayfa 14 değilde sayfa 1 olarak sanıl kaydettiricem,
    gelen veri içinde totalPages 13 olarak değer mevcut if($kayitli_sayfa == $totalPages ) ise +1 değilde 1 yap gibi işlem yaptırarak işlem yaptırıcam sanırım.

    aklımdaki yol bu şekilde, acaba farklı bir yolu yada taktiği mevcutmu bu durumun, bilgisi olan arkadaşların yardımına ihtiyacım var..
  • 20-12-2020, 22:10:19
    #2
    veritabanına ekleyebilirsiniz dediğiniz gibi ama alternatif olarak şu şekilde yapılabilir:
    (cronjobu url değil direk komut / bash işlemi olarak ekleyin)

    for i in $(seq 1 $(curl http://example.com/toplam_sayfa_sayisini_dondur)) ; do curl http://example.com/?sayfa=$i ; done
    opsiyonel olarak arada örn 60 saniye beklesin derseniz:
    for i in $(seq 1 $(curl http://example.com/toplam_sayfa_sayisini_dondur)) ; do curl http://example.com/?sayfa=$i && sleep 60 ; done

    dilerseniz ücretli olarak yardımcı olabilirim
  • 20-12-2020, 22:19:54
    #3
    hesapadim adlı üyeden alıntı: mesajı görüntüle
    veritabanına ekleyebilirsiniz dediğiniz gibi ama alternatif olarak şu şekilde yapılabilir:
    (cronjobu url değil direk komut / bash işlemi olarak ekleyin)

    for i in $(seq 1 $(curl http://example.com/toplam_sayfa_sayisini_dondur)) ; do curl http://example.com/?sayfa=$i ; done
    opsiyonel olarak arada örn 60 saniye beklesin derseniz:
    for i in $(seq 1 $(curl http://example.com/toplam_sayfa_sayisini_dondur)) ; do curl http://example.com/?sayfa=$i && sleep 60 ; done

    dilerseniz ücretli olarak yardımcı olabilirim
    o yollara pek girmek istemiyorum hocam, istediğim cronjob'a 1 tane sayfa tanımlayım ve o sayfa her çağırıldığında ben istediğim işlemleri yapabileyim,
    bu illa cronjob ile olacak diye bişi yok aklıma geldiğinde yada lazım olduğunda manuel olarak tarayıcıdan sayfayı açarakta yapabileyim.

    yorumun için teşekkürler..
  • 20-12-2020, 22:41:17
    #4
    ByMezarkabul adlı üyeden alıntı: mesajı görüntüle
    o yollara pek girmek istemiyorum hocam, istediğim cronjob'a 1 tane sayfa tanımlayım ve o sayfa her çağırıldığında ben istediğim işlemleri yapabileyim,
    bu illa cronjob ile olacak diye bişi yok aklıma geldiğinde yada lazım olduğunda manuel olarak tarayıcıdan sayfayı açarakta yapabileyim.

    yorumun için teşekkürler..
    bir php dosyasında curl kullanıp da çekebilirsiniz hocam tüm sayfaları farklı bir yöntem olarak
  • 20-12-2020, 22:46:15
    #5
    hesapadim adlı üyeden alıntı: mesajı görüntüle
    bir php dosyasında curl kullanıp da çekebilirsiniz hocam tüm sayfaları farklı bir yöntem olarak
    evet uzun zamandır o şekilde yapıyorum örnek urun-cek.php?sayfa=1 olarak açıyorum yükleme bitince sayfa=2 yapıyorum ve böylece tüm sayfaları bitiriyorum.
  • 20-12-2020, 22:47:16
    #6
    ByMezarkabul adlı üyeden alıntı: mesajı görüntüle
    evet uzun zamandır o şekilde yapıyorum örnek urun-cek.php?sayfa=1 olarak açıyorum yükleme bitince sayfa=2 yapıyorum ve böylece tüm sayfaları bitiriyorum.
    otomatik olarak demek istedim
  • 20-12-2020, 22:53:28
    #7
    hesapadim adlı üyeden alıntı: mesajı görüntüle
    otomatik olarak demek istedim
    işte onun için konu açtım hocam nasıl bir mantık izlemeliyim, şöyle şöyle yap diyen varmı diye
  • 20-12-2020, 23:24:50
    #8
    ByMezarkabul adlı üyeden alıntı: mesajı görüntüle
    işte onun için konu açtım hocam nasıl bir mantık izlemeliyim, şöyle şöyle yap diyen varmı diye
    php curl kullanımını biliyor musunuz hocam

    while içine alın curl'yi $i verin 1 arttırarak gidin
    if($i == $toplamsayfa) break;
  • 20-12-2020, 23:28:48
    #9
    hesapadim adlı üyeden alıntı: mesajı görüntüle
    php curl kullanımını biliyor musunuz hocam

    while içine alın curl'yi $i verin 1 arttırarak gidin
    if($i == $toplamsayfa) break;
    kullandığım sistem bir kütüphane zaten hocam, oluşturduğum sayfa içinde page değerine istediğim sayı'yı yazıp işlemi yaptırıyorum buraya kadar bir sorun yok,
    istediğim sadece o sayfa her yenilendiğinde page değerine bir sonraki sayfa sayını koyacak bir mantık bir yol, okadar