• 26-12-2020, 01:24:16
    #1
    merhaba bir döngüm var 10 dakikada bir çalışması gerek ama işlemler uzun sürüyor her bir işlem yaklaşık 3 4 saniye alıyor mysql dan çekilen her bir işlem için timeout olmadan işlemi tamamlamasını nasıl sağlarım, yani örneğin 5 adet kayıt var
    işlem başlıyor... her biri 5 saniye sürüyorsa
    25 saniye sonra 5 adet veri tamamlandı diye mesaj atıyor ben bunu istemiyorum
    5 saniye sonra 1. veri tamamlandı 2.ye geçsin 3. ye geçsin gibi mesaj gelsin istiyorum yoksa timeout yiyor sayfa işlem gerçekleşmiyor

    bunu çözebileceğim bir kaynak varmıdır
  • 26-12-2020, 01:36:46
    #2
    Hocam dediğiniz şey php ile olmaz js ve ajax kullanarak yapabilirsiniz. Js kodlarında CountDownTimer timer kullanırsınız timer tetiklendiğinde ajax ile işlem yaptırıp ekrana yazdırırsınız. Eğer phpde böyle bir şey varsa ben bilmiyorum
  • 26-12-2020, 01:38:56
    #3
    ibrahimdemir adlı üyeden alıntı: mesajı görüntüle
    Hocam dediğiniz şey php ile olmaz js ve ajax kullanarak yapabilirsiniz. Js kodlarında CountDownTimer timer kullanırsınız timer tetiklendiğinde ajax ile işlem yaptırıp ekrana yazdırırsınız. Eğer phpde böyle bir şey varsa ben bilmiyorum
    nası yapabiliriz ki jquery de olur kaynak lazım bana beynim durdu )
  • 26-12-2020, 01:43:24
    #4
    jQuery ajax ile probleminizi çözebilirsiniz. Her işlemi farklı php sayfalarında yaparsınız, işlem sırasına göre ilk işleminizi post edip sonuç beklediğiniz sonuç ise 2. işlemi post edersiniz.
  • 26-12-2020, 01:43:11
    #5
    muraatydn adlı üyeden alıntı: mesajı görüntüle
    nası yapabiliriz ki jquery de olur kaynak lazım bana beynim durdu )
    https://makitweb.com/how-to-fire-aja...ular-interval/ Burayı incelebilirsiniz hocam bi sorun olursa pm atın isterseniz
  • 26-12-2020, 01:43:22
    #6
    sefacandemir adlı üyeden alıntı: mesajı görüntüle
    jQuery ajax ile probleminizi çözebilirsiniz. Her işlemi farklı php sayfalarında yaparsınız, işlem sırasına göre ilk işleminizi post edip sonuç beklediğiniz sonuç ise 2. işlemi post edersiniz.
    örnek bir sayfa varmıdır şu da olur bana ilk 10 veriyi yapsın bitince diğer 10 veriyi yapsın gibi
  • 26-12-2020, 01:58:54
    #7
    muraatydn adlı üyeden alıntı: mesajı görüntüle
    örnek bir sayfa varmıdır şu da olur bana ilk 10 veriyi yapsın bitince diğer 10 veriyi yapsın gibi
    Buradan jQuery ajax post örneğine bakabilirsiniz. İstediğiniz işlem için interval vs gerektiğini düşünmüyorum. Tek yapmanız gereken sql sorgunuzu düzenlemek. Örneğin ilk 10 sonuç istiyorsanız first-request.php adında bir dosya oluşturup burada ilk 10 sorgusunu döndürün, daha sonra ajax success (callback) fonksiyonunda dönen sonucu kontrol edin, istediğiniz sonuçlar ise sonraki 10 sonucu dönderecek sql sorgusunu second-request.php isimli farklı bir dosyada dönderin ve tekrar ajax ile bu sayfaya post gönderin.

    Örnek:
    function post(url, data){
         $.ajax({
            type: "POST",
            url: url,
            data: data,
            success:postCallback(returnedData),
            dataType: dataType
         });
    }
    function postCallback(returnedData){
        if(returnedData) // İstediğiniz verinin dönüp dönmediğini kontrol edeceğiniz alan
            post('ikinciposturl', ['ikinci','post','data']) // ikinci post
    }
    post('ilkposturl','ilkpostdata')
  • 26-12-2020, 02:44:34
    #8
    Döngüye gerek yok, 10 dakikada bir çalışıyorsa ortada cron var demektir. Verilerinizin işlendiğine dair bir kolonunuz olduğunu varsayıyorum. "islendi" isimli kolonu kullanarak ilk kaydı çekin

    1. select sorgusuna where clause ekleyip, islendi=0 limit=1 gibi bir koşul koyun.
    2. İşlenmemiş verileriniz arasından en eskisi sonuç olarak dönsün. İşleyin ve mesajınızı (1. veri tamamlandı) diye gönderin.
    3. crontab ayarlarını her 15 saniyede bir çalışacak şekilde yapılandırın. Bu sayede yaklaşık olarak bir önceki işlem bittikten hemen sonra yeni işlem başlayacaktır.

    Eğer sayfanızı manuel çağırıyorsanız yine aynı işlemleri yapıp, sayfanın sonuna refresh kodu ekleyerek, her bir işlem bittiğinde sayfanın yeniden çalışmasını sağlayabilirsiniz.

    Anlattıklarınızdan çıkarımlarımıza göre verdiğimiz yanıt bu şekilde, tahmin yürüterek verilecek hiç bir cevap işinize yaramayacaktır. Kodunuzu görmek gerek.
  • 01-01-2021, 20:29:18
    #9
    php de de durdurma islemi mevcut sleep i arastırın saygılarımla...