Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: IMAP i czas pobierania poczty
Forum PHP.pl > Forum > PHP
adbacz
Na skrzynce pocztowej mam około 1800 wiadomości. Chciałem pobrać 200 wiadomości na raz, by je wylistować (od kogo, temat i data), jednak jak zobaczyłem czas pobierania tej ilości danych to się przestraszyłem. Mam porównanie z pocztą poczta.nazwa.pl, gdzie 3000 wiadomości pobiera się w 2 sekundy i wszystkie sa wyświetlone na raz w przeglądarce (to jest jakiś skrypt OX coś tam, nie dedykowany).

Czy to normalne, że to tak długo działa?
ohm
Cytat(adbacz @ 31.01.2015, 21:28:32 ) *
Czy to normalne, że to tak długo działa?

Nie, prawdopodobnie serwer przeciążony. Chociaż przyczyn może być dość sporo.
sazian
ja bym raczej powiedział że z jakiegoś powodu pobiera całe wiadomości a nie nagłówki.

Było by zdecydowanie łatwiej coś powiedzieć gdybyś podał mniej rozmyte fakty... określenia "OX coś tam", "tak długo" są strasznie precyzyjne
adbacz
Kod pobierający wiadomości:
  1. $result = imap_fetch_overview($this->connection, sprintf("%s:%s", $reverse_start, $reverse_end));
  2.  
  3. $total = $folderCheck->Nmsgs;
  4.  
  5. foreach($result as & $mail)
  6. {
  7. if(property_exists($mail, 'subject'))
  8. {
  9. $mail->subject = static::decode($mail->subject, $this->imap->serverEncoding);
  10. }
  11.  
  12. if(property_exists($mail, 'from'))
  13. {
  14. $mail->from = static::decode($mail->from, $this->imap->serverEncoding);
  15. }
  16.  
  17. if(property_exists($mail, 'to'))
  18. {
  19. $mail->to = static::decode($mail->to, $this->imap->serverEncoding);
  20. }
  21.  
  22. if(property_exists($mail, 'date'))
  23. {
  24. $mail->date_timestamp = (new \Datetime($mail->date))->getTimestamp();
  25. }
  26. }
  27.  
  28. $result = array_reverse($result);


Wcześniej jest obliczana paginacja, by pobrało mi tylko wiadomości od 1 do 200 ($reverse_start, $reverse_end). Czas pobierania to około 10 sekund.

Skrypt działający na poczta.nazwa.pl to: http://open-xchange.com/home
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.