![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 125 Pomógł: 7 Dołączył: 27.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
Siema,
zapraszam do testowania i korzystania z nowego projektu: http://webthumbnail.org Jest to generator miniaturek stron internetowych, oto co aktualnie potrafi: - proste w uzyciu api do osadzania miniaturek na stronach - zrzuty ekranu od 50x50 do 2048x4096 pikseli - trzy prawdziwe przegladarki: firefox, chrome, opera - trzy formaty danych: png, jpg, gif - renderuje flasha i html5 - serwer jest w stanie serwować nawet 500 gotowych miniaturek na sekunde - infrastruktura jest w pełni skalowalna Jak to działa? Dodajesz adres url strony, serwer wrzuca ten adres do kolejki. Z drugiej strony jest chmura robotów, które pobierają dane z kolejki i tworzą zrzuty ekranu, które później znów lądują na serwerze www. Infrastruktura nadaje się do zastosowań produkcyjnych i dużych serwisów www, w testach osiąga 500 requestów na sekunde z jednej maszyny, a ilość robotów może zostać zwiększona w miare potrzeb. Technologia: - Java (api, roboty) - PHP (frontend, backend) - PostgreSQL (baza) - Bash, Python, ImageMagick, itd... - FreeBSD (główny serwer) - Linux, OpenVZ (roboty) Jeżeli coś nie działa to piszcie, z góry dzięki za wszelkie komentarze! (projekt jest w fazie Beta) Ten post edytował cepa 26.03.2012, 14:02:32 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 709 Pomógł: 176 Dołączył: 24.10.2010 Ostrzeżenie: (0%) ![]() ![]() |
Wszystko fajnie działa, zastanawia mnie jednak sprawa api, czy nie lepiej zamiast robić sleep(2) zrobić to w inny sposób, np dodać parametr callback url i żeby to twój system wysyłał info o skończeniu pod ten link ?. Głównie chodzi o czas wykonywania skryptu teraz może i takich kolejek nie ma, ale jak trafi się moja miniaturka jako 100 w kolejce i będę musiał poczekać dość sporo czasu to Mi się skrypt wysypie.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 125 Pomógł: 7 Dołączył: 27.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
Wszystko fajnie działa, zastanawia mnie jednak sprawa api, czy nie lepiej zamiast robić sleep(2) zrobić to w inny sposób, np dodać parametr callback url i żeby to twój system wysyłał info o skończeniu pod ten link ?. Głównie chodzi o czas wykonywania skryptu teraz może i takich kolejek nie ma, ale jak trafi się moja miniaturka jako 100 w kolejce i będę musiał poczekać dość sporo czasu to Mi się skrypt wysypie. sleep tam jest dlatego ze nie jestem w stanie okreslic ile czasu zajmie zaladowanie strony, moge uzyc statystki, ale wiadomo... statystycznie ja i pies mamy po trzy nogi, wiec analogicznie wynik bedzie malo realny co do kolejki, to adresy z kolejki sa sciagane rownolegle przez chmure robotow, w tej chwili 7 robotow dziala i robi zrzuty, ale ta liczbe mozna zwiekszyc, wiec w sytuacji kiedy w kolejce bedzie srednio 100 urli, to postawi sie 100 robotow, i wtedy w jednej sekundzie sciaganych z kolejki jest dokladnie 100 adresow (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
sleep tam jest dlatego ze nie jestem w stanie okreslic ile czasu zajmie zaladowanie strony, moge uzyc statystki, ale wiadomo... statystycznie ja i pies mamy po trzy nogi, wiec analogicznie wynik bedzie malo realny Nie wiem w jakim języku napisałeś całe oskryptowanie dla robotów i jak, ale to jest do zrobienia właśnie po ich stronie. W ekstremalnym przypadku możesz chociażby dokleić do ładowanej witryny swój kawałek kodu ajax (oczywiście nieinwazyjnie) i po jej załadowaniu wysłać odpowiednią informacje. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 125 Pomógł: 7 Dołączył: 27.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem w jakim języku napisałeś całe oskryptowanie dla robotów i jak, ale to jest do zrobienia właśnie po ich stronie. W ekstremalnym przypadku możesz chociażby dokleić do ładowanej witryny swój kawałek kodu ajax (oczywiście nieinwazyjnie) i po jej załadowaniu wysłać odpowiednią informacje. no nie do konca, bo i tak w tej chwili jest dodany nieinwazyjny ajax ktory informuje aplikacje o tym ze strona jest zaladowana, problem w tym ze czasy ladowania roznia sie znacznie i sa tez zalezne od aktualnego obciazenia sieci, wiec od kilku sekund do nawet minuty. statystycznie majac adres juz w bazie moge wyciagnanc ile wynosi sredni czas ladowania ale jak adres jest nowy (99% przypadkow) to moge jedynie strzelac, no chyba ze nie do konca zrozumialem twoj pomysl (IMG:style_emoticons/default/smile.gif) przykladowy skrypt na https://github.com/cepa/webthumbnail bedzie czekal jedynie przy pierwszy zrzut, jak miniaturka jest juz zrobiona to dostanie wynik wlasciwioe odrazu. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
no nie do konca, bo i tak w tej chwili jest dodany nieinwazyjny ajax ktory informuje aplikacje o tym ze strona jest zaladowana, problem w tym ze czasy ladowania roznia sie znacznie i sa tez zalezne od aktualnego obciazenia sieci, wiec od kilku sekund do nawet minuty. To informuj właśnie że strona jest załadowana, sprawdzając czy faktycznie tak jest. W jQuery będzie to tak:
To wykona się w momencie gdy zostanie załadowany cały dokument, włącznie z obrazami, iframe i co tam tylko chcesz, a nie tylko DOM. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 07:03 |