Cytat
Proces nie obciąża procesora. Długo wykonuje się, ponieważ przesyła dane i też niedużo, ale klient odbierający dane przetwarza je i to zajmuje czas.
Tak więc tutaj może to mieć rzeczywiście sens. Musisz tylko pamiętać, że jednoczesne podesłanie znaczącej ilości żądań do drugiej strony może ją "zamulić" i w efekcie jeszcze bardziej wydłużyć ogólny czas działania. Prawdopodobnie dobrym pomysłem będzie wysyłanie jakiejś ograniczonej ilości żądań jednocześnie, np. 5 albo 20.
Cytat
Jeśli chodzi o Javę, to faktycznie mógłbym jej użyć, ale to banalny kod w PHP, jeśli udałoby się tylko wywołać 20 równoległych procesów to myślę, że byłoby OK.
Tak na pierwszy rzut oka, wykonanie tego np. w Javie będzie znacznie prostsze niż w PHP. Jeden wątek pobierający rekordy do obrobienia (w ilości np. 100), który będzie je wrzucać na stos oraz 5-10-20 wątków pobierających po jednym elemencie ze stosu i przetwarzających go. W momencie gdy ilość rekordów na stosie się kończy będzie on pobierać sobie następną porcję.
Zero problemów z wielokrotnym obrabianiem tego samego rekordu, "prosta" baza danych nie wymagająca żadnego dbania o współbieżność (brak LOCKów), jeden proces w systemie zamiast n+1 (czyli łatwe okiełznanie tego). Całość pewnie w 50 linijkach kodu by się zmieściła, z czego połowa to pewnie by były klamerki.
Cytat
Co z forkowaniem? Jak ten Demon w PHP? Ktoś to wdrażał w profesjonalnych zastosowaniach?
W forkowanie nigdy się w PHP nie bawiłem - ono się po prostu do tego kompletnie nie nadaje. Daemon w PHP? Jak najbardziej, ale pojedynczy.
EDIT: Oczywiście strukturą danych przechowującą rekordy do przetworzenia powinna być tytułowa kolejka, nie stos.