![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 398 Pomógł: 10 Dołączył: 24.11.2004 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Po przejrzeniu wielu postów o tym temacie widzę, że większość z Was używa PEAR::Mail_Queue do masowego rozsyłania poczty.
Nie sprawdziłem jeszcze tej biblioteki tak więc nie jestem w stanie nic na jej temat powiedzieć wiem, że ma coś wspólnego z Cronem i że to rozwiązuje problem konieczności zostawiania na noc otwartej przeglądarki z ładującą się stroną aplikacji próbującej rozesłać 10 000 maili (a co jeżeli prąd siądzie albo komputer się zawiesi) (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) . Zastanawiałem się nad rozwiązaniem tego problemu i wydaje mi się, że tu przydałaby się wielowątkowość i możliwość pracy aplikacji w tle nawet po zamknięciu przeglądarki. Zastanawiałem się nad połączeniem Javy i php. Napisać w Javie z użyciem JavaMail i JDBC program, który odczytywałby maile z bazy i w zapuszczonym wątku wysyłał je do ludzi, a na samym końcu destroy() i koniec działania. php służyłby tu do inicjacji obiektów i odpalania wątku, potem tylko można by ewentualnie odczytać jakiś wygenerowany raport. To co napisałem jest czystą abstrakcją nie mam doświadczenia w łączeniu Javy i php i nie znam innych sposobów na rozsyłanie takiej ilości wiadomości. Wypowiedzcie się proszę na ten temat Ten post edytował NoiseMc 5.10.2005, 19:30:50 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 398 Pomógł: 10 Dołączył: 24.11.2004 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Pomysł jest taki:
Są 2 aplikacje:
Aplikacja 1 służy do skomponowania wiadomości, ustalenia do kogo ma być wysłana i zapisuje do bazy szczegóły wysyłki oraz wiadomość o wysyłce czekającej na realizację. Aplikacja 2 jest uruchamiana Cronem co np 5 minut i sprawdza w bazie danych czy jest wysyłka czekająca na realizację. Jeżeli jest to rozpoczyna wysyłkę wysyłając na przykład 5 maili i sleep() na 5 sekund. Podczas realizowania wysyłki do bazy zapisywany jest na bieżąco raport z wysłania każdego maila, żeby użytkownik miał wgląd w to co się dzieje z jego wysyłkami, czy zostały wysłane ewentualnie dokończyć wysyłkę przypadkiem przerwaną ( np. brak zasilania w serwerze (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ). W ten sposób użytkownik loguje się, komponuje wiadomość, klika "Wyślij" wylogowuje się i idzie na piwo (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . W każdej chwili może się zalogować i sprawdzić stan wysyłki ewentualnie ją przerwać. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 11:47 |