Повторный (параллельный) запуск ПХП скрипта

partiz

Новичок
Повторный (параллельный) запуск ПХП скрипта

В скрипте стартовал сессии... как оказалось, они не давали запускать скрипт повторно.
Вопрос стер, т.к. нашел ответ.

Ответ нашел на http://forum.codenet.ru/showpost.php?p=273029&postcount=5
session_start() является блокирующийся функцией.
Если после работы с сессией вставить session_write_close(), тогда второй скрипт тоже запустится.
Простите, если мой пост баян и не принес дополнительных знаний. Удалить не смог, отредактировал может кому пригодиться.
 

StUV

Rotaredom
В скрипте стартовал сессии... как оказалось, они не давали запускать скрипт повторно.
э... а может кто-нибудь объяснить несколько подробнее - о чем вообще речь ?..
 

Angerslave

Новичок
StUV
Пройди по ссылке, там всё написано.

Вообще, сложно себе представить что на обычном сайте может выполняться 20 секунд... А на необычном, наверное, свой механизм сессий используется.
 

partiz

Новичок
2 Angerslave ... Я написал скрипт отдачи файла... т.е. ограничение подключений на скачивание средствами пхп. Если файл весит 100 мб и более, то выполнение этого скрипта займет продолжительное время.
 

Angerslave

Новичок
partiz
Есть же нормальные средства, не тюкающие пхп при каждом запросе файла.
 

partiz

Новичок
Автор оригинала: Angerslave
partiz
Есть же нормальные средства, не тюкающие пхп при каждом запросе файла.
можно подробней?
когда я искал решение своей задачи, то нашел только информацию по возможности ограничения подключений к какой-то директории... при чем, это ограничение общее (абсолютно для всех) и касается только подключений, не касаясь скорости отдачи.

есть задача: разным пользователям разное количество подключений (возможно и скорость).
реализация: файлы хранятся непойми где с защитой от прямого доступа к ним; пользователь нажимает на "скачать файл"; система смотрит, что за пользователь (если не авторизирован, то на йух) и сколько ему подключений - если есть свободные подключения для него - отдаем файл, если нет, на нет и суда нет (пусть ждет окончания предыдущих закачек).

реально это сделать как-то по-другому, не скриптом?
 

x-yuri

Новичок
по поводу ограничения количества подключений, скорости посмотри http://modules.apache.org/search.php?search=limit

думаю, можно сделать ограничение для групп пользователей, с помощью кук + RewriteMap. По некоторой куке, идентифицирующей группу, переадресовывать (локально, с помощью RewriteMap) пользователей на URL для группы. И уже для URL (Location) задавать ограничения

если сервер нагружают "медленные клиенты", то лучше использовать reverse proxy (nginx, lighttpd...)

если все же черех пхп файлы отдавать будешь, посмотри топик
 

partiz

Новичок
2 x-yuri... у меня код примерно как в топике, только я после echo куска файла не ставил flush()... вероятно, это приводило к большому скоплению данных в буфере? забыл как-то про flush()...
Так же, я специально сделал ограничение на заливку больших файлов... не потому, что столкнулся с проблемой как в том топе (кстати, отдельное спасибо за подсказку на будущее про большие размеры), но потому, чтобы не сильно нагружать канал долгими скачками/закачками и сервер работой с файлами (ведь файл нужно не только отдать, но перед тем, как информацию о файле в базу занести, файл нужно скопировать в спец папку и дать ему спец имя). Сделал файлы пока 100 Мб :))) если сервер поведет себя хорошо относительно этого, то можно и увеличить.
 
Сверху