SphinxSearch - indeksowanie dokumentów

Funkcjonowanie silników wyszukiwania pełnotekstowego (np. SphinxSearch) opiera się na dwóch specjalizowanych procesach: indeksującym dokumenty (indekser) oraz umożliwiającym wyszukiwanie. Jednak do prawidłowego działania wyszukiwania niezbędny jest indeks będący efektem procesu indeksowania. Dane w takim indeksie zorganizowane są w postaci tzw. indeksu...

PHP Daemons - część IV

W pierwszym artykule z cyklu PHP Daemons przedstawione zostało rozwiązanie oparte o mechanizm forkowania. Następnie, z uwagi na powstawanie procesów zombie, wprowadzone zostało rozwiązanie pozwalające wyeliminować ten problem. Jednak dalsze testy i eksploatacja tego daemona wykazały jego kolejną słabość -...

PHP Daemons - część III

Jednym ze sposobów asynchronicznego przetwarzania w języku PHP jest forkowanie polegające na tworzeniu dedykowanego procesu, będącego duplikatem procesu głównego, do obsługi poszczególnych zadań, połączeń. Sposób ten został szczegółowo omówiony w poprzednim artykule z cyklu PHP Daemons. Alternatywą dla tego podejścia...

Monitorowanie zmian w systemie plików

Ogólnie przyjętym wzorcem stosowanym w różnego rodzaju aplikacjach jest logowanie zdarzeń, np. wystąpienie błędu danego typu. Następnie na podstawie zalogowanych zdarzeń podejmowane są odpowiednie akcje, które będą wywoływane co ustalony interwał czasu bądź bezpośrednio po wystąpieniu zdarzenia. W pierwszym przypadku...

PHP Daemons - część II

Rozwiązanie przedstawione w jednym z poprzednich artykułów pozwala na realizację daemona w PHP dzięki wykorzystaniu mechanizmu forkowania procesów. Niestety podatne jest na powstawanie tzw. procesów zombie - proces dziecko staje się procesem zombie dopóki proces główny nie obsłuży jego statusu...