• 17-05-2024, 22:57:02
    #1
    Merhabalar, kodumda bir çok foreach ile array içerisinden veya api'den veri döndürülüyor fakat bazen yavaş yavaş yapması veya 3-4 saniye bekleyip devam etmesi gerekiyor; veya da api'nin kullanım limiti dakikada 1000 veri iken benim kodum çok daha fazla veriyi işlemeye çalışıp bir yerden sonra verileri çekememeye başlıyor ve hataya düşüyor.

    Sleep kodu ile php'de kodu arada 2-3 saniye bekletme gibi bir şeyler yapmaya çalıştım ama verimli bir yol gibi gelmedi; sayfa çok fazla yükleniyor.. modunda kalıyor bir yerden sonra kodu çalıştırmayı bırakıyor..

    Bu işin en verimli yolu nedir yorumlarda beni yönlendirebilir misiniz rica etsem
  • 17-05-2024, 22:59:06
    #2
    Bana kalırsa php dışında node.js vb. diller ile asenkron işlem yaptırman daha mantıklı.
  • 17-05-2024, 23:00:33
    #3
    Biraz göz gezdirirseniz kullanım mantığını anlarsınız, takıldığınız nokta olursa her türlü yardımcı olabilirim.

    https://www.php.net/manual/en/function.sleep.php

    https://www.w3schools.com/php/func_misc_sleep.asp
  • 17-05-2024, 23:00:58
    #4
    php ile sistemi 1 kez çalışacak şekilde ayarlayıp cron ile belirli aralıklarla çalıştırsanız olmaz mı?
    • BatuhanKZ
    BatuhanKZ bunu beğendi.
    1 kişi bunu beğendi.
  • 17-05-2024, 23:01:20
    #5
    Yavaş çalıştırma sorunu da localdeyse ayarlardan kaynaklı olabilir sunucuda da aynı şekilde.
  • 17-05-2024, 23:01:22
    #6
    php'de bu tarz işlemler yapmanız veya yapmaya çalışmanız yanlış. Python veya nodejs gibi dillere yönelin.
  • 17-05-2024, 23:01:57
    #7
    Sleep kullanmak yerine belki döngü içerisinde sürekli bir önceki değişkene atadığın saniye ile kontrol edip üstünden belirli bir miktar zaman geçmişse api requestini yapabilirsiniz.
  • 17-05-2024, 23:26:24
    #8
    sleep(3); sorununuzu çözmediyse setIntervalle aralıklı istek denediniz mi?
  • 17-05-2024, 23:47:11
    #9
    İstek sayınızı bir yerde tutup, bu sayıya göre hareket edebilirsiniz. Sayıyı belirli bir zaman dilimi sonra sıfırlarsanız, tekrardan istek atabilir hale gelebilirsiniz. sleep vs. ile olacak şey değil bu.