Welcome! Log In Create A New Profile

Advanced

Re[4]: Распределение работы скриптов и сайта

Posted by akalend 
Re[4]: Распределение работы скриптов и сайта
October 06, 2010 06:30AM
> Можно сделать два php.ini: один для апача, другой для cli. И выделять разные
> ресурсы.
> Можно просто для конкретного скрипта указать использовать другой, заданный
> конфиг.
> php -c /path_to/php.ini ./run-script.php

> Очереди имхо тут лишние.
все зависит от задачи.

> 5 октября 2010 г. 16:29 пользователь No1 <smile.neversmile@gmail.com>
> написал:
> Там инклудится много чего и вынести отдельно на сервер не получится...
если нет сервера, то конечно не получится ;)

у нас, например, фреймворк с одним и тем же кодом работает как на "скриптовом" сервере, так и на "сторадже" (сервер статики), так и на "вэбе". Единственное отличие - это на каждом сервере установлен свой уникальный конфиг, который подключает те или иные опции или соединения. Что тебе мешает внедрить подобную схему?

>И по поводу "все скрипты запускаются из
> одной точки: run_script.php" в run_script.php выставляются нужные
> переменные для php.ini?

как правильно должно быть устроено в "вэбе"? WEB сервер все запросы с помощью реврайта заворачивает на index.php. В index.php делаем необходимые подключения (БД.мемкеш итд), инициализируем сессию, настраиваем автоаплоадер классов и тд... Далее анализируем урл и по заданным правилам вызываем нужный метод нужного класса. Надеюсь, что у Вас так?

Похожая схема должна быть и при запуске скриптов: запускается общий скрипт инициализации (у меня он назван run_script.php), который анализирует входные параметры и в зависимости от параметров командной строки вызывает нужный метод нужного класса. Вот при настройках этого скрипта можно указать любые ини-сеттинги или вызвать его из шелл скрипта с прописанным отдельным специально заточенным под него конфигом. Что может быть проще?

> Очереди?поясните если не трудно.
Очереди - это отдельная тема и конечно их использование зависит от задач и масштаба проекта. Твой фронт или бэграунд скрипт не может решить какую-то задачу быстро (это главное ограничение), по этому он ее откладывает на потом, складывая информацию о задачи в очередь. Другой скрипт, скорее всего даже на другом сервере, разгребает соответствующую очередь и решает эти задачи не мешая и без того нагруженному фронтэенду. Скорее всего это не твой случай. Но такие задачи как фото-видео конвертилки, уведомлялки, собиралки и рассылки прекрасно вписываются в схему очередей.



Александр Календарев
2010/10/6 Alexandre Kalendarev <akalend@mail.ru>

> > Можно сделать два php.ini: один для апача, другой для cli. И выделять
> разные
> > ресурсы.
> > Можно просто для конкретного скрипта указать использовать другой,
> заданный
> > конфиг.
> > php -c /path_to/php.ini ./run-script.php
>
> > Очереди имхо тут лишние.
> все зависит от задачи.
>
> > 5 октября 2010 г. 16:29 пользователь No1 <smile.neversmile@gmail.com>
> > написал:
> > Там инклудится много чего и вынести отдельно на сервер не получится...
> если нет сервера, то конечно не получится ;)
>
> у нас, например, фреймворк с одним и тем же кодом работает как на
> "скриптовом" сервере, так и на "сторадже" (сервер статики), так и на "вэбе".
> Единственное отличие - это на каждом сервере установлен свой уникальный
> конфиг, который подключает те или иные опции или соединения. Что тебе мешает
> внедрить подобную схему?
>
> >И по поводу "все скрипты запускаются из
> > одной точки: run_script.php" в run_script.php выставляются нужные
> > переменные для php.ini?
>
> как правильно должно быть устроено в "вэбе"? WEB сервер все запросы с
> помощью реврайта заворачивает на index.php. В index.php делаем необходимые
> подключения (БД.мемкеш итд), инициализируем сессию, настраиваем автоаплоадер
> классов и тд... Далее анализируем урл и по заданным правилам вызываем нужный
> метод нужного класса. Надеюсь, что у Вас так?
> Именно так.
> Похожая схема должна быть и при запуске скриптов: запускается общий скрипт
> инициализации (у меня он назван run_script.php), который анализирует входные
> параметры и в зависимости от параметров командной строки вызывает нужный
> метод нужного класса. Вот при настройках этого скрипта можно указать любые
> ини-сеттинги или вызвать его из шелл скрипта с прописанным отдельным
> специально заточенным под него конфигом. Что может быть проще?
> Интересное решение.
> > Очереди?поясните если не трудно.
> Очереди - это отдельная тема и конечно их использование зависит от задач и
> масштаба проекта. Твой фронт или бэграунд скрипт не может решить какую-то
> задачу быстро (это главное ограничение), по этому он ее откладывает на
> потом, складывая информацию о задачи в очередь. Другой скрипт, скорее всего
> даже на другом сервере, разгребает соответствующую очередь и решает эти
> задачи не мешая и без того нагруженному фронтэенду. Скорее всего это не твой
> случай. Но такие задачи как фото-видео конвертилки, уведомлялки, собиралки и
> рассылки прекрасно вписываются в схему очередей.
> Случай не мой :) у меня все попроще.Думаю буду пользоваться php -c,вчера
> повозился и появился шанс перенести все на другой физический сервер.
>
Спасибо Всем и вам Александр Календарев.

>
>
Дмитрий Меньшиков
Re: Re[4]: Распределение работы скриптов и сайта
October 06, 2010 06:52AM
подписываюсь под всем вышесказанным)

6 октября 2010 г. 13:28 пользователь Alexandre Kalendarev
<akalend@mail.ru>написал:

> > Можно сделать два php.ini: один для апача, другой для cli. И выделять
> разные
> > ресурсы.
> > Можно просто для конкретного скрипта указать использовать другой,
> заданный
> > конфиг.
> > php -c /path_to/php.ini ./run-script.php
>
> > Очереди имхо тут лишние.
> все зависит от задачи.
>
> > 5 октября 2010 г. 16:29 пользователь No1 <smile.neversmile@gmail.com>
> > написал:
> > Там инклудится много чего и вынести отдельно на сервер не получится...
> если нет сервера, то конечно не получится ;)
>
> у нас, например, фреймворк с одним и тем же кодом работает как на
> "скриптовом" сервере, так и на "сторадже" (сервер статики), так и на "вэбе".
> Единственное отличие - это на каждом сервере установлен свой уникальный
> конфиг, который подключает те или иные опции или соединения. Что тебе мешает
> внедрить подобную схему?
>
> >И по поводу "все скрипты запускаются из
> > одной точки: run_script.php" в run_script.php выставляются нужные
> > переменные для php.ini?
>
> как правильно должно быть устроено в "вэбе"? WEB сервер все запросы с
> помощью реврайта заворачивает на index.php. В index.php делаем необходимые
> подключения (БД.мемкеш итд), инициализируем сессию, настраиваем автоаплоадер
> классов и тд... Далее анализируем урл и по заданным правилам вызываем нужный
> метод нужного класса. Надеюсь, что у Вас так?
>
> Похожая схема должна быть и при запуске скриптов: запускается общий скрипт
> инициализации (у меня он назван run_script.php), который анализирует входные
> параметры и в зависимости от параметров командной строки вызывает нужный
> метод нужного класса. Вот при настройках этого скрипта можно указать любые
> ини-сеттинги или вызвать его из шелл скрипта с прописанным отдельным
> специально заточенным под него конфигом. Что может быть проще?
>
> > Очереди?поясните если не трудно.
> Очереди - это отдельная тема и конечно их использование зависит от задач и
> масштаба проекта. Твой фронт или бэграунд скрипт не может решить какую-то
> задачу быстро (это главное ограничение), по этому он ее откладывает на
> потом, складывая информацию о задачи в очередь. Другой скрипт, скорее всего
> даже на другом сервере, разгребает соответствующую очередь и решает эти
> задачи не мешая и без того нагруженному фронтэенду. Скорее всего это не твой
> случай. Но такие задачи как фото-видео конвертилки, уведомлялки, собиралки и
> рассылки прекрасно вписываются в схему очередей.
>
>
>
> Александр Календарев
>
>
Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 195
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 500 on July 15, 2024
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready