Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pętla laguje
Forum PHP.pl > Forum > PHP
Majcon
Witam napisałem pętlę która wysyła wiadomość do tysiąca osób następnie sprawdza czy zostały jakieś osoby do których dojdzie wiadomość jeśli tak to wysyła jeszcze raz hm chyba najlepiej będzie jak pokaże kod

  1. $txt = "jakiś tekst";
  2. do{
  3. $pobranie_numerow= $db->query("SELECT `number` FROM `users` WHERE `wyslano` = '0' ORDER BY `id` ASC LIMIT 1000");
  4. $la = $pobranie_numerow->num_rows;
  5. while($pn = $pobranie_numerow->fetch_assoc())
  6. {
  7. $numery[] = $pn['number'];
  8. }
  9. allsay($txt, $numery);
  10. $q = $db->query("UPDATE `users` SET `wyslano` = '1' WHERE `wyslano` = '0' ORDER BY `id` ASC LIMIT 1000");
  11. $numery = array();
  12. sleep(1);
  13. } while($la > 0 && $la <= 1000);
  14. ?>


Problem wtym że od wpisania komendy do wysłania mija jakieś 15 sekund biggrin.gif Jest możliwość przerobienia tego aby szybciej działało?

Ma ktoś jakiś pomysł albo jak inaczej to skonstruować innej pętli użyć
sazian
1)to $numery = array(); daj przed pętlą while
2)po co sleep ?
3)ile jest rekordów ?
Majcon
aktualnie jest 1600 tylko że jedna wiadomość może dojść jednorazowo do 1000 i musi być przerwa minimum jedna sekunda dlatego to sleep()
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.