Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przetwarzanie plików, limit czasu
Forum PHP.pl > Forum > PHP
Konio
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?
Darti
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.
Konio
Danych może byc sporo. Różnie bywa ale sa i katalogi z np. 100-200 plikami, 2-3MB każdy.
Darti
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.
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.