Копирование в фоновом режиме

1. SD (05.05.2010 / 01:59)
Необходимо организовать импорт файлов с другого сайта в фоне. Ставлю ignore_user_abort, на денвере, файл 200 мб копируется, всё ок, но во время копирования(минуты 3) проц грузится на 100 процентов, и зайти на какой нибудь другой линк сата невозможно - попросту не открывается... Как быть?

2. Lugaro (05.05.2010 / 02:14)
Частями пробуй и в перерывах между ними sleep ставь

3. SD (05.05.2010 / 02:35)
Не катит..

4. Александр (05.05.2010 / 06:02)
exec?

5. SD (05.05.2010 / 08:56)
A exec в данном случае не по аналогии с ignore_user_abort будет работать?
Кстати, насчет паузы я погорячился - надо проверить. Скорость ограничить. Дома буду, попробую.

6. ктулху (05.05.2010 / 10:20)
Мне кажется проблема в том что апач в денвере без mpm, т.е. не многопоточный

7. SD (05.05.2010 / 11:58)
Так, а если во время импорта зайти на сайт с другого браузера, то всё норм

8. Azzido (05.05.2010 / 12:26)
значит у тебя в скрипте не правилно сделано, сначало закончи вывод всей разметки,потом ignore_user_abort далее переадресация и импортируй файл

9. Александр (05.05.2010 / 12:34)
ставь отдельно Apache2 + php. Не должен проц грузиться так, не должен.
У самого стоит и при копировании copy() все работает. так что... или денвер или.. хз.

10. Azzido (05.05.2010 / 12:48)
тут не в загрузке проца дело а браузер ждет когда завершится скрипт

11. Александр (05.05.2010 / 13:47)
он же говорит что по ссылке переходит.. то есть может быть открывает в новой вкладке или окне. Браузер не будет переходить?
хотя бывало и такое...

12. Azzido (05.05.2010 / 13:50)
11, ну вот для примера обычную страничку с ссылкой если сделать, и там грубо говоря вот такое while(1){} то браузер так же подвиснет и будет ждать завершения цикла

13. SD (05.05.2010 / 14:25)
8. Azzido, у меня так и сделано..

14. SD (07.05.2010 / 01:59)
В общем заметил, что брауз висит из-за строки session_start(), её коментирую и всё ок. какие будут предложения?

15. Lugaro (07.05.2010 / 02:26)
header('Location: куда то');
flush();
Дальше код который долго выполняется

16. SD (07.05.2010 / 02:46)
Решил проблему - session_destroy после авторизации. Теперь другой трабл - не срабатывает переадресация, т.е. скрипт висит, пока не остановишь и сам не перейдешь. с flush сработала, но 'долгий код' не выполнился. Пробовал sleep(3) после header(Location - не прокатило. Как быть?

17. Lugaro (07.05.2010 / 03:17)
Всё должно работать, set_time_limit и
ignore_user_abort стоит?

18. SD (07.05.2010 / 12:21)
Да, стоит.

19. SD (07.05.2010 / 12:23)
Может из-за ob_start?

20. WCO (07.05.2010 / 17:22)
header('Location: куда то');
ob_end_flush();
..........

21. SD (07.05.2010 / 22:48)
20. WCO, да не помогает... я даже ob_start() убирал - без изменений...
Что же делать??

22. SD (07.05.2010 / 22:51)
20. WCO, да не помогает... я даже ob_start() убирал - без изменений...
Что же делать??

23. Саня (08.05.2010 / 12:13)
В таких случаях говорят: залей скрипт на апвап, мысли читать не умеем...

24. SD (08.05.2010 / 18:29)
23, отвeт получил нa форумe пхп.су, видимо тaм умeют читaть мысли;) всeм спaсибо зa внимaниe, вопрос исчeрпaн..

URL: https://visavi.net/topics/9040