Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Balancing wysoce obciążających zadań w PHP
Forum PHP.pl > Forum > PHP
Ormin
Witajcie!

Mam ustawionego cron jobsa co minutę na skrypt PHP, ktory musi wykonać dość ciężkie zadanie ( pobranie pliku/plików o dużej wadze ). W tym celu potrzebuje, aby to zadanie było w miarę porządnie rozdzielone między pare serwerów dedykowanych.

Obecnie mam to wykonane tak, że łącze się przez SOAP do serwera, który wybiera zainstalowany haproxy:

Kod
Cron_Jobs -> Polaczenie SOAP -> Haproxy -> Serwer


Ma to jednak jedna zasadnicza wade: nie wiadomo gdzie sie polaczylem do samego konca zadania, co nieco utrudnia niektore rzeczy ( np jak zrobić pasek postępu pobierania na stronie, skoro nie wiadomo nawet gdzie ten plik jest? ).

Czy macie na to jakiś zloty środek, jakiś pomysl, cokolwiek? Wszelkie sugestie mile widziane winksmiley.jpg

Wybaczcie odswiezanie ( nie wiem czy moge nawet :f ) ale naprawde fajnie byloby wiedziec że ktos sie zajmuje trudniejszymi problemami anizeli niedzialajacy formularz biggrin.gif
wookieb
Próbowałeś użyć wgeta do pobierania plików?
Nie znam się wybitnie na unixach ale jak znam życie jest możliwość pobierania stanu downloadu z wgeta.
Ormin
Ale co mi to da?..

Zreszta, wget odpada, za wolny jest.

Obecnie do pobierania używam akceleratora z konsoli.. ale to nie o to chodzi. Chodzi o to, że moj proces PHP na serwerze glownym laczy sie przez moj load balancer do jakiegos tam serwera i tam juz sobie pobiera jak nalezy, problem w tym, ze z poziomu PHP tak naprawde nie wiem gdzie ja ciagle jestem. Dlatego pytam czy istnieje jakis lepszy pomysl.

wookieb
Jeżeli nie wiesz z jakim serwerem się połączyłeś a masz możliwość ich modyfikacji to możesz np zmusić je do wysyłania unikalnych nagłówków dzięki którym je zidentyfikujesz.
  1. header('MojNumerSerwera: 1');


Jeżeli nadal to nie to, postaraj się dokładnie opisać problem ponieważ "nie wiem gdzie ja ciagle jestem" można interpretować różnie.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.