Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Przetwarzanie plików, limit czasu
Konio
post 1.12.2008, 21:52:11
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 17.04.2005

Ostrzeżenie: (0%)
-----


Witajcie,

SKRYPT: pobiera nazwy plików z katalogu, wrzuca w tablicę, następnie w petli przechodzi przez tablicę, pobiera kazdy z plików skaluje i zapisuje w innym folderze.

PROBLEM: naturanie przy większej ilości plików lub ich dużym rozmiarze pojawia się problem z limitem czasu wykonania skryptu.

MOZLIWE ROZWIAZANIA:
- zapisac kazdy z plików wraz z docelowymi pramatrami skalowania w bazie/pliku i potem cronem je przetwarzac pokolei usuwając z bazy te już przetworzone
- wrzucac w tablice z plikami w zmienna sesyjna, po przetworzeniu kazdego z plików usunac go z tablicy w zmiennej sesyjnej i zrealizowac przekierowanie header na ten sam skrypt (jesli tablica w zamiennej sesyjnej istnieje, przetwarzaj dalej)
- pewnie jeszcze cos by mi przyszlo do glowy ale moze zla droga ide...
- jakas forma ajaxa? np w jsa wrzucam tablice z plikami, przechodzac przez nia wywoluje skrypt z parametrem nazwy pliku, jednoczesnie informujac uzytkownika ile z ilu plikow zostalo przetworzonych. Ale tutaj potrzebowalbym pomocy w zakresie pomyslu, jak wywlac i kontrolowac ta petle w js.

Skrypt działa po stronie admina wiec sesja zawsze bedzie.
Rozwiazanie z cronem jest malo porzadane, gdyz skrypt tworzy zestawy miniaturek po dodaniu galerii (pliki byly wczesniej wgrane na ftp w katalog) wiec miniaturki bylyby potrzebne mozliwie szybko.

PROSBA: abyscie doradzili cos rozsadnego, jesli moje pomysly sa dalekie od nazwania ich optymalnymi smile.gif lub rozsadnymi lub pomogli w rozwiazaniu koncepcji tego ajaxa. Na pewno tez juz cos podobnego ktos robil. Moze podzieli sie szkielet zalozen dla takiego rozwiazania?
Go to the top of the page
+Quote Post
Darti
post 1.12.2008, 22:01:41
Post #2





Grupa: Zarejestrowani
Postów: 1 076
Pomógł: 62
Dołączył: 6.03.2005
Skąd: Wroc

Ostrzeżenie: (0%)
-----


może generować "on demand" wyniki zapisując do katalogu docelowego (swoisty cache), w bazie zapisywać listę przetworzonych plików i przy następnym wejściu sprawdzać i nie robić tych przetworzonych? no chyba że masz dużą porcję danych do przerobienia to po prostu wydłużyć czas działania skryptu i zostawić na noc.


--------------------
The answer is out there, Neo. It's looking for you. And it will find you, if you want it to.
SERVER_SOFTWARE : Apache/2.2.4 (Win32) PHP/5.2.1
MySQL Client API version : 5.0.27
Go to the top of the page
+Quote Post
Konio
post 1.12.2008, 22:47:55
Post #3





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 17.04.2005

Ostrzeżenie: (0%)
-----


Danych może byc sporo. Różnie bywa ale sa i katalogi z np. 100-200 plikami, 2-3MB każdy.
Go to the top of the page
+Quote Post
Darti
post 1.12.2008, 22:57:42
Post #4





Grupa: Zarejestrowani
Postów: 1 076
Pomógł: 62
Dołączył: 6.03.2005
Skąd: Wroc

Ostrzeżenie: (0%)
-----


Skorzystaj z ajaxa, stwórz np 100 div'ów (po jednym dla obrazka), zapytanie ajaxowe przekaze parametr z numerem diva a w odpowiedzi serwer odda zmieniony obrazek i skrypt, który odpali następne zapytanie (nr diva+1). Troche to potrwa, ale jak zapiszesz sobie przetworzone obrazki to następną razą będzie szybciej.


--------------------
The answer is out there, Neo. It's looking for you. And it will find you, if you want it to.
SERVER_SOFTWARE : Apache/2.2.4 (Win32) PHP/5.2.1
MySQL Client API version : 5.0.27
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 13.06.2025 - 07:34