2009-07-01 7 views
7

Mam tę aplikację szyny, która działa w naszym lokalnym intranecie z tysiącem zwykłych użytkowników. Szukam integracji z naszym serwerem e-mail (MS Exchange). Zasadniczo -Pobieranie wiadomości e-mail w szynach za pośrednictwem IMAP

1) Dla każdego użytkownika aplikacja powinna pobrać wszystkie nowe wiadomości w swojej skrzynce odbiorczej z serwera pocztowego, przeanalizować je i umieścić w bazie danych.

Mogę to zaimplementować za pomocą ruby ​​/ net-imap, ale martwię się o wydajność. Jak już wspomniałem, istnieje tysiąc użytkowników, każdy z innym adresem e-mail. Odpytywanie serwera poczty e-mail co x minut nie pozwoliłoby tysiącom użytkowników radykalnie zmniejszyć wydajności.

Wygląda na to, że może być opcja IMAP IDLE with ruby/net-imap, serwer pocztowy przesyła powiadomienie do mojej aplikacji za każdym razem, gdy pojawi się nowa poczta (styl IPhone/Outlook). Ale wygląda na to, że będę musiał utrzymywać połączenie IMAP z serwerem. Jeśli więc zalogowanych jest jednocześnie 100 użytkowników, oznacza to 100 połączeń z serwerem pocztowym. Czy to drastycznie spowolni aplikację?

Albo czy ktoś wie o wszelkich innych opcji (Btw, nie mam kontroli nad poczty serwer)

Jesteśmy przy użyciu MRI, ale może z łatwością przełączać się jruby też.

+0

Zobacz: http://stackoverflow.com/questions/1076116/support-for-imap-idle-in-ruby/1818718#1818718 –

Odpowiedz

1

This może pomóc ... Wiem, że to dla Gmaila lub nie dokładnie tego, czego szukasz, ale możesz być w stanie dostosować go do swojego problemu.

Istnieje również kilka bibliotek do obsługi IMAP z rubinem, takich jak Chilkat Ruby IMAP Library 2.1, ale jeszcze nie próbowałem.

Powiązane problemy