Temat: Pakowanie do ZIP w locie
Tak na szybko przychodzi mi do głowy jeszcze jeden pomysł, ponieważ domyślam się, że chodzi o to że blokuje Cię czas wykonania skryptu. Jeśli w jakiś sposób odpaliłbyś specjalnie przygotowanego taska w symfony to skypt wykonałby się z prawammi Twojego użytkownika oraz ze znacznie dłuższym (prawdopodobnie) czasem wykonania. Do tego mógłbyś np. wykorzystać zadanie crona i specjalnie przygotowaną tabelę z kolejką, która powiedziała by taskowi co ma pakować i gdzie, we frontendzie wyglądałoby to tak:
- user klika pobierz
- przy pomocy ajaxu zostaje zapisane zadanie do tabeli o ktorej wspomnialem wyzej
- cron, ktory uruchamia taska np. co 10 sekund napotyka na nowe zadanie i pakuje pliki
- w tym czasie uzytkownikowi caly czas wyswietla sie napis prosze czekac, a ajaxem asynchronicznie sprawdzane jest czy plik zostal juz spakowany np. co 3 sekundy
- jesli tak nastepuje redirect pod odpowiedni adres i download
troche to skomplikowane, ale powinno sie udac