Модераторы: korob2001, ginnie

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> структура проекта, структура проекта 
:(
    Опции темы
myth777
  Дата 6.1.2010, 00:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 110
Регистрация: 30.3.2009

Репутация: -1
Всего: -1



Здравствуйте. Вобщем вопрос по организации perl проектов.

У меня есть один большой web проект который внедряется и развивается. В нем я выделил некоторые базовые вещи
и сложил их в отдельную директорию LIB. 
html шаблоны  так же как и JS скрипты храняться тоже в отдельных директориях. Структура сайта реализована в виде множества perl файлов, которые ссылаются (require,use) на файлы
из библиотеки и используют их. Таким образом пользователь бегает от одного модуля к другому. Хотел посоветоваться правильно ли вообще это?
Может стоило сделать один главный файл допустим index.pl и в него сразу включить все файлы библиотеки и включать все файлы проекта?

Как лучше организовывать проекты? Поделитесь опытом пожалуйста...
PM MAIL   Вверх
mvsgt
Дата 6.1.2010, 04:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 209
Регистрация: 27.3.2009

Репутация: 1
Всего: 1



Если есть возможность, надо смотреть в сторону Catalist. Если нет - надо принимать решение исходя из того, как будут запускаться скрипты. Много файлов можно запускать как CGI или mod_perl, но не как FastCGI. Один файл хорошо будет работать под FastCGI и mod_perl и плохо под CGI. mod_perl можно во внимание не принимать.
PM MAIL   Вверх
sir_nuf_nuf
Дата 6.1.2010, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 920
Регистрация: 6.1.2008

Репутация: 14
Всего: 31



Какие технологии используются ?
1) CGI / mod_perl / FastCGI ?
2) какой шаблонизатор ? TT / Mason что то другое ?

Я обычно делаю стандартную структуру:

lib                - perl Модули общего использования
www           - статические данные html, css, js
templates   - шаблоны  
bin               - скрипты, работающее в бэкграунде - по крону или как демоны
cgi-bin         - CGI скрипты (если нужны)
var               - изменяемые данные (те что изменяются при работе сайта)

все кроме var - помещается в CVS/SVN/Git  или что там используется.


--------------------
user posted image
user posted image
PM MAIL Jabber   Вверх
Mindfinder
Дата 8.1.2010, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 8.1.2010

Репутация: нет
Всего: нет



Цитата

Много файлов можно запускать как CGI или mod_perl, но не как FastCGI


Откуда такие предубеждения против FastCGI? У меня на проекте под FastCGI работает 2 десятка скриптов

На счет организации проектов: 
 - шаблоны
 - код
 - статика
 - данные
 - скрипты под кроном
PM MAIL WWW   Вверх
mvsgt
Дата 9.1.2010, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 209
Регистрация: 27.3.2009

Репутация: 1
Всего: 1



Цитата(Mindfinder @  8.1.2010,  17:46 Найти цитируемый пост)
Откуда такие предубеждения против FastCGI? У меня на проекте под FastCGI работает 2 десятка скриптов


По сути FastCGI - это запуск приложения, обрабатывающего один запрос, для параллельной обработки надо запустить несколько копий. Если два десятка скриптов, каждый запускается в восьми копиях - в памяти 160 перловых процесса. Довольно накладно. Если запускать меньше копий, то преимущества от FastCGI теряются. 
PM MAIL   Вверх
FractalizeR
Дата 9.1.2010, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 273
Регистрация: 27.12.2007
Где: Россия/Москва

Репутация: нет
Всего: 4



mvsgt
Какой-то странный у вас вывод. FastCGI отличается от CGI тем, что процесс постоянно не нужно перезапускать. 

Цитата(WikiPedia)

FastCGI ликвидирует множество ограничений CGI-программ. Проблема CGI-программ в том, что они должны быть перезапущены веб-сервером при каждом запросе, что приводит к понижению производительности.

FastCGI убирает это ограничение, сохраняя процесс запущенным и передавая запросы этому постоянно запущенному процессу. Это позволяет не тратить время на запуск новых процессов.


Цитата

Если запускать меньше копий, то преимущества от FastCGI теряются.  

Не думаю, чтобы они полностью терялись. Преимущество FastCGI перед CGI как раз в том, что не нужно перезапускать процесс перед обработкой следующего запроса. Причем тут количество копий?


--------------------
Чтобы поблагодарить или наоборот поругать участника форума лучше пользоваться значками "+" и "-", изменяющими репутацию. Они находятся слева от поста под именем пользователя.
PM MAIL   Вверх
mvsgt
Дата 9.1.2010, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 209
Регистрация: 27.3.2009

Репутация: 1
Всего: 1



Цитата(FractalizeR @  9.1.2010,  14:21 Найти цитируемый пост)
Не думаю, чтобы они полностью терялись. Преимущество FastCGI перед CGI как раз в том, что не нужно перезапускать процесс перед обработкой следующего запроса. Причем тут количество копий? 


Представьте, что у Вас процессор с 8-ю ядрами. Значит, параллельно будут выполняться 8 процессов, не больше. Вот на эти 8 параллельных процесса надо запустить 8 копий FastCGI серверов. Если у вас 20 скриптов, то надо запустить в общей сложности 8*20=160 копий FastCGI. Поэтому выгодней объединить скрипты в один - это в 20 раз уменьшит количество памяти и количество соединений с базой данных.
PM MAIL   Вверх
sir_nuf_nuf
Дата 9.1.2010, 23:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 920
Регистрация: 6.1.2008

Репутация: 14
Всего: 31



Цитата(mvsgt @  9.1.2010,  18:54 Найти цитируемый пост)
Если у вас 20 скриптов, то надо запустить в общей сложности 8*20=160 копий FastCGI


Это оффтоп, но все же:

что мешает одному процессу FastCGI исполнять несколько различных скриптов по очереди ?


--------------------
user posted image
user posted image
PM MAIL Jabber   Вверх
gcc
Дата 10.1.2010, 06:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

Репутация: 1
Всего: 17



кстате, подскажите имеется 

lighttpd FastCGI 

если я хочу изменить код в скрипте, то нужно ли перегружать веб-сервер? 
и если будет ошибка в коде, то весь сервак упадет?
PM WWW ICQ Skype GTalk Jabber   Вверх
gcc
Дата 10.1.2010, 22:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

Репутация: 1
Всего: 17



кто знает есть  FastCGI (lighttpd)

если я хочу внести изменения в код catalyst, то нужно ли мне перегруать веб-сервер ?

или достаочно прибить всех детей и оно само перегрузит?
PM WWW ICQ Skype GTalk Jabber   Вверх
mvsgt
Дата 11.1.2010, 01:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 209
Регистрация: 27.3.2009

Репутация: 1
Всего: 1



Цитата(sir_nuf_nuf @  9.1.2010,  23:33 Найти цитируемый пост)
что мешает одному процессу FastCGI исполнять несколько различных скриптов по очереди ? 


То, есть два варианта - либо каждый скрипт будут каждый раз перегружаться заново - это будет CGI, либо в памяти будет сидеть копия интерпретатора на каждый скрипт. Если будет один интерпретатор на все скрипты, это будет не fastcgi, а mod_perl co всеми вытекающими недостатками и достоинствами.
PM MAIL   Вверх
myth777
Дата 14.1.2010, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 110
Регистрация: 30.3.2009

Репутация: -1
Всего: -1



У меня щас просто CGI и много .pl файликов.

Я  про FastCGI хочу спросить. Это нужно определенный доступ к серверу иметь чтоб так перезагружать в память обновленные скрипты? 
Будет ли нормально работать это все у меня скрипты периодически ссылаются друг на друга через require и  use.

Надо задуматься, мож попробовать проект перенести под FastCGI, При переходе между скриптами всё таки присутствует некоторое время ожидания при загрузке.


PM MAIL   Вверх
mvsgt
Дата 15.1.2010, 01:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 209
Регистрация: 27.3.2009

Репутация: 1
Всего: 1



Цитата(myth777 @  14.1.2010,  16:31 Найти цитируемый пост)
скрипты периодически ссылаются друг на друга через require и  use.


Либо Вы неправильно употребляете термин "скрипты", либо что-то неправильно в Ваших программах. Скриптами обычно называют исполняемые программы на перле, а то, на что ссылаются  use и require называют модулями и подключаются они из скриптов, а не запускаются апачем или fastcgi.
PM MAIL   Вверх
myth777
Дата 15.1.2010, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 110
Регистрация: 30.3.2009

Репутация: -1
Всего: -1



бред. Во первых у меня есть скрипты - базовое ПО(библиотека), я ее везде использую и подключаю с помощью use. Иногда бывает так что скрипты использует функции друг-друга и общаются между собой(я обычно require использую). Обычное дело помоему.
PM MAIL   Вверх
mvsgt
Дата 15.1.2010, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 209
Регистрация: 27.3.2009

Репутация: 1
Всего: 1



Цитата(myth777 @  15.1.2010,  13:30 Найти цитируемый пост)
бред. Во первых у меня есть скрипты - базовое ПО(библиотека), я ее везде использую и подключаю с помощью use. Иногда бывает так что скрипты использует функции друг-друга и общаются между собой(я обычно require использую). Обычное дело помоему. 


Значит Вы просто не понимаете смысл слов, которые используете. Сейчас это обычное дело.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1026 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.