2011-12-22 12 views
6

Mamy dużą aplikację internetową zbudowaną na PHP. Ta aplikacja umożliwia planowanie tweetów i wiadomości na ścianie, a także zaplanowane wiadomości e-mail wychodzące z serwera.Różnica między używaniem kolejki wiadomości a zwykłymi zadaniami Cron z PHP

Przez "zaplanowane" mam na myśli to, że są to skrypty PHP zaplanowane do uruchomienia w określonym czasie przy użyciu cron. Istnieje około 7 plików PHP, które wykonują powyższe zadania.

Słyszałem o kolejkach wiadomości. Czy ktoś może wyjaśnić, czy Kolejki wiadomości najlepiej pasują do tego scenariusza? Czy Kolejki wiadomości uruchamiają skrypty PHP? czy musimy to skonfigurować zupełnie inaczej? Jakie są zalety/wady?

+0

22 wyświetleń. Ktoś? Jakieś odpowiedzi? –

Odpowiedz

5

Korzystanie Crontab aby asynchroniczne zadań (asynchroniczny z kodu PHP) jest podstawowym podejściem w których korzystanie z zadanie/zadania menedżera kolejek jest skomplikowany jeden i daje większą kontrolę, siłę i skalowalność/elastyczność .

Crontab są bardzo łatwe w obsłudze, ale nie oferują wielu funkcjonalności. Najlepiej jest dla zaplanowanych zadań niż dla zadań asynchronicznych.

Z drugiej strony, wdrażanie kolejki zadań (i jej message broker) wymaga więcej czasu. Najpierw wybierz odpowiednie narzędzia, a następnie dowiedz się, jak je zaimplementować w swoim kodzie PHP. Ale to jest do zrobienia w 2011.

Dzięki Bogu, nie rób PHP ale bawił się Celery (w połączeniu z RabbitMQ) na Python projektów; Jestem pewien, że możesz znaleźć coś podobnego w świecie PHP.

+0

Dzięki, Stan! Kolejki wiadomości są inwazyjne. Czy wprowadzenie kolejek komunikatów wymaga zmian kodu PHP w aplikacji? –

+0

_A priori_ to nie jest. ** ale ** parametr opóźnionej funkcji musi być możliwy do serializacji, a czasami możesz mieć pewne niespodzianki, ponieważ niektóre obiekty nie są dobrze obsługiwane. – Stan

+0

yay. To jest 2013 i wciąż ta sama zasada jest ważna – om471987

Powiązane problemy