Ответ
Misha v.3 10.04.2013 17:12
У меня были подозрения, что файл, подключаемый через use, может нарушить работу текущего скрипта, т.к. его методы и переменные переопределят уже существующие.
может.
но ничего не мешает не просто переименовать @main[] в @run[], а добавить в начале @CLASS. и использовать его статически.
в этом случае точно не будет никаких перекрытий методов/переменных.
Также есть проблема с обработкой большого объема данных в течение длительного времени.
запуская из одного скрипта другой вы только усугубляете ситуацию, увеличивая и время выполнения и потребление памяти. если установлено ограничение на время процесса, то первый процесс будет убит, а с ним умрёт и дочерний.
а вот с помощью редиректа вы можете обойти проблему.
в любом случае, прежде чем что-то делать, надо понять -- а есть-ли эта проблема?
судя по вашим формулировкам вы в этом не уверены.
также можно пооптимизировать алгоритм. например, у меня в одном из проектов при загрузке проверяются 180+ тысяч ячеек таблицы с помощью regex/hash lookup-ов. и ничего, даже на древнем тормозном сервере вписываюсь в 1 минуту включая загрузку проверенного в БД, а на нормальном сервере процесс занимает буквально десяток секунд.
Если это делать в одном скрипте, то процесс в какой-то момент зависает, дальше ничего не обрабатывается.
не верю.
то, что кто-то прибил процесс -- верю. а что процесс завис -- нет.
Если сделать через use или file::load, то все будет обрабатываться в одном процессе, что приведет к тому же зависанию, поэтому и стал пробовать через file::cgi/exec.
именно. и не будет дополнительных save/load файла. не будет кода, который должен подчищать ненужные больше файлы. сам код упростится.
в любом случае сделать так, чтобы file::cgi/exec заработали -- несложно (я указал направление, в каком надо копать), но это тупиковая ветка. если у вас есть проблема с тем, что всё выполняется долго и вы не вписываетесь в лимиты -- вы не решите её таким образом.
- Запуск скрипта при приеме файла из формы, virusav 08.04.2013 12:26
- Ответ, Maxx [M] 08.04.2013 16:53
- Ответ, virusav 08.04.2013 17:43 / 08.04.2013 17:46
- Ответ, Misha v.3 [M] 09.04.2013 06:13 / 09.04.2013 06:15
- Ответ, virusav 09.04.2013 09:46
- я так и думал :), Misha v.3 [M] 09.04.2013 10:03
- Ответ, virusav 09.04.2013 10:10
- А зачем вы запускаете в sh парсер?, max_rip 09.04.2013 15:41
- Ответ, virusav 09.04.2013 16:53
- Ответ, max_rip 09.04.2013 18:04
- Ответ, virusav 09.04.2013 18:23
- ^use[], ^process{}, Maxx [M] 09.04.2013 16:57 / 09.04.2013 16:58
- Ответ, virusav 09.04.2013 17:15
- Ответ, Misha v.3 [M] 10.04.2013 11:35
- Ответ, virusav 10.04.2013 14:30
- Ответ, Misha v.3 [M] 10.04.2013 16:18
- Ответ, virusav 10.04.2013 16:34
- Ответ, Maxx [M] 09.04.2013 18:57
- Ответ, max_rip 10.04.2013 11:13
- Ответ, virusav 10.04.2013 10:58
- Ответ, Maxx [M] 09.04.2013 14:14 / 09.04.2013 14:16