PHP: exit ve gösteri uyarı çok uzun bir işlevi döngü yanıt vermiyor

0 Cevap php

Ben web verileri alır ve yerel bir veritabanına eklemek bu büyük fonksiyonu (kod 1300 + hat) var. Her zaman fonksiyonu onun tamamlamak için 20 saniye gibi bir şey alır ve bir milyon kez gibi bu fonksiyonu çalıştırmak için gereken, bu yüzden (0) gibi, işlevini sonsuz ve ben döngü bir milyon kez PHP zaman sınırı ayarlamak için set_time_limit kullanmak çalışır Bu:

for ($ID= '01'; $ID < '999999'; $ID++) {
    getDataFromWeb($conn, $ID);
}

Yani ne sorunu? Sorun var, yanlış gidebilir ve her zaman yanlış yapar bir milyon şey vardır, ve aniden kod örneğin ID 23465 takılıyor, ve sadece veri alma durdurmak ama hata her türlü alamadım onun döngü veritabanına şey takmadan ama devam ediyor, çünkü 'hiçbir zaman sınırı' Ben PHP için ayarlanmış gibi o asla durmaz.

Ben, bu tür bir sorunu algılamak tüm durdurmak ve uyarısını göstermek nasıl bilmek istiyorum. Bir ben işlev başlamadan önce saati ayarlayın ve fonksiyonu sona erdiğinde sonra bu gibi kontrol:

for ($ID= '01'; $ID < '999999'; $ID++) {
    $time_start = microtime();
    getDataFromWeb($conn, $ID);
    $time_end = microtime();
    if ($time_alert - //... somehow check how time does it takes and stop if its taking too much
}

Fonksiyonu $ time_end böylece kurmak ve asla o hiçbir zaman tamamlar eğer çünkü işe yaramaz ...

Yani, lütfen yardım?

0 Cevap