![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 6.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam jeden drobny problem. Mam system mailingowy. Aby wiadomość nie była uznawana za spam muszę je wysyłać z sleepem czasowym. Dla bezpieczeństwa rejestruję informacje o tym do którego usera został wysłany email. Po raz drugi zdarzył mi się przypadek, że wywalił mi problem z zapisem do bazy. Wczesniej nie mialem funkcji sleep() phpca i nie wyskakiwał mi taki problem. Obecnie jest z tym dylemat. Nie wiecie czy do tego ma coś wspólnego sleep() phpca, czy tak defakto sleep moze gubic sesje itp ? Prosze o pomoc, z góry wielkie dzięki |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Po raz drugi zdarzył mi się przypadek, że wywalił mi problem z zapisem do bazy. To może oznaczać, że w którymś miejscu jest jakiś bliżej nieokreślony błąd.Wczesniej nie mialem funkcji sleep() phpca i nie wyskakiwał mi taki problem. Obecnie jest z tym dylemat. Patrz wyżej.czy tak defakto sleep moze gubic sesje itp ? Nie.Podasz więcej szczegółów, czy będziesz czekał na kolejne odpowiedzi podobne do mojej? Jakiś komunikat błędu? Kawałek kodu? Cokolwiek? |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 6.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Patrz wyżej.Nie. Konkretnie chodzi mi o to, ze wcześniej przed wprowadzeniem sleepa nie było problemu z tym, ale wiadomości lądowały jako spam, bo tak byly rozpoznawane np przez gmail`a a co do kodu, nie moge udostepnic - wlasnosc firmy, jedynie co moge opisac foreach($tablica userow as $user) // { if(sendMail::execiute('nadawca', tytul, opis, $user, $wiadomosc['html'] ? 'html' : 'txt') ){ // wysyaleni wiadomosci}$query='zapisz do bazy danych info o userze INSERTEM'; // zapytanie jest poprawne} |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Jaki rozmiar ma $tablica_userow? Bo biorąc pod uwagę, że na każdego maila przeznaczasz 1 sek + czas wysyłania maila, to przy ~55 userach robi Ci się już około 60 sek. Po tym czasie połączenie do MySQL może być automatycznie przerywane. Sprawdź to. Jeśli tak jest, to dziel mailing na mniejsze porcje.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 6.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Baza mysql dziala normalnie przy operacjach zajmujace nawet 2-3 godziny. Często tak jest, że baza jest długo w połączeniu i nie ma to tutaj żadnego znaczenia.
Najprawdopodobniej wygląda to tak, że tabela ta jest InnoDB ... byc moze najlepszym postepem bedzie w przypadku nie wykonania zadania wrzucenie destrojda zmiennej db i utworzenie na nowo polaczenia z powtornym zapytaniem. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 9 Dołączył: 22.09.2006 Ostrzeżenie: (0%) ![]() ![]() |
Można sprawdzać połączenie przed dodaniem funkcją mysql_ping i przy negatywnej odpowiedzi na nowo łączyć się z bazą.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 6.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Mozna, ale jezeli podczas wykonywania 1000 dobrych insertow wyskoczy nagle syf ... najlepiej (co juz dziala) w przypadku niewykonania operacji polaczyc sie z baza jeszcze raz (unikajac singeltona) i w tym przypadku na nowo dokonac wpisu insert ... dziala i nie ma problemu :]
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 2.10.2025 - 18:16 |