Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Прервать скрипт и продолжить на следующем запуске, Подпроблема: отсутствие GOTO в PHP 
:(
    Опции темы
Fortop
Дата 18.6.2008, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

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



Цитата(Feldmarschall @  18.6.2008,  10:02 Найти цитируемый пост)
когда кто-то пишет на хмл программы

Программы - звучит конечно слишком громко, но это могут банальные быть блоки расчетов smile
Хотя реализация их на PHP.... но почему бы и нет? smile

В принципе, я так понимаю, схема очень близка к распределенным вычислениям. Во всяком случае ее легко отмасштабировать на произвольное число модулей и на произвольный уровень вложенности.
Нужно лишь чтобы каждый узел имел свой контроллер выполнения.


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
maxbrown
Дата 18.6.2008, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Awaiting Authorisation
Сообщений: 26
Регистрация: 16.6.2008
Где: Obninsk sci-city

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



Цитата(Fortop @ 18.6.2008,  09:58)
Для того чтобы передать скрипту команду на завершение можно использовать нормальный способ, а не резать его на корню.
Ты ведь состояние сохранить не успеешь, если воспользуешься советом друга.

Fortop, posix_kill, несмотря на своё "страшное" название, используется не только для прибивания процессов на корню, но и для других целей в зависимости от передаваемого процессу сигнала.
PM MAIL WWW ICQ   Вверх
Fortop
Дата 18.6.2008, 10:42 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

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



Цитата(maxbrown @  18.6.2008,  10:32 Найти цитируемый пост)
но и для других целей в зависимости от передаваемого процессу сигнала. 

Вот как только ты расскажешь - как в PHP можно ловить и обрабатывать эти сигналы - я с тобой соглашусь.


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
maxbrown
Дата 18.6.2008, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Awaiting Authorisation
Сообщений: 26
Регистрация: 16.6.2008
Где: Obninsk sci-city

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



Цитата(Feldmarschall @ 18.6.2008,  10:02)
сама архитектура, когда кто-то пишет на хмл программы, эти программы транслируются в пхп, потом анализируются другим скриптом, сгенерированным из XML с дискретным прерыванием

Не совсем так. Программы пишутся на XML - да, транслируются в PHP - да, потом анализируются - да, но не "другим скриптом, сгенерированным из XML", а просто другой программой.
Компилятор XML->PHP доступен для редактирования (точнее, сам компилятор недоступен, но можно редактировать используемое в нем XSLT-преобразование) и в принципе, можно, переделав компилятор, перекомпилировать заново все исходные XML-программы, которые сохранились, а если что-то не сохранилось, то оставшиеся PHP-скрипты переписать уже вручную.

Добавлено через 8 минут
Цитата(Fortop @ 18.6.2008,  10:42)
Вот как только ты расскажешь - как в PHP можно ловить и обрабатывать эти сигналы - я с тобой соглашусь.

Если бы я знал, я бы не спрашивал. Мне известно, что примерно таким способом на PHP пишут демонов, но эта область для меня пока terra incognita.
PM MAIL WWW ICQ   Вверх
Fortop
Дата 18.6.2008, 11:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

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



Цитата(maxbrown @  18.6.2008,  10:51 Найти цитируемый пост)
что примерно таким способом на PHP пишут демонов

Насколько я знаю - нет.

Т.е. обмен сообщениями через названия файлов,через сами файлы, через сокеты, через базу - да, это реализуемо.

Я почему и спрашивал, реализован ли у тебя механизм передачи команд скрипту.


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
Resha
Дата 23.10.2008, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(maxbrown @ 16.6.2008,  10:35)
Задача: при наступлении некоего if($condition) корректно прервать работу некоего PHP-скрипта, а при следующем запуске (возможно, через несколько недель) возобновить с той же точки.

Вы 100% пытаетесь сделать нечто, что вообще говоря вам можно и не делать (т.е., скорее всего, есть какое-то более стандартное решение).

Представим себе работу по шитью шерстяных носков.

Алгоритм выглядит примерно так:
1. Отмотать 100 м ниток.
2. Связать носок общей площадью 1000 см2.

Выполняете программу, запоминая этап и его остояние:
1. Для первого этапа - длина отмотанной нитки.
2. Для второго - площадью навязанного носка.

Если вдруг у вас случился сердечный приступ, то потом вы всегда сможете получить информацию, на чем вы остановились и сколько работы осталось сделать, чтобы перейти к следующему этапу.


Задача утрирована, но в любом случае, при выполнении долгоиграющих скриптов все работает именно так smile

Лично по моему опыту, после 2-3 часов работы скрипт может отпасть не выдав абсолютно никакой ошибки. Даже не знаю, по какой именно причине smile Так что лучше весь процесс делить на цепочку скриптов, вызывающихся последовательно друг за другом после успешного завершения  работы скрипта предыдущего этапа.
PM MAIL   Вверх
kshyms
Дата 13.11.2008, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 303
Регистрация: 30.8.2006
Где: Душанбе

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



IZ@TOP, Всякое новое это хорошо забытое старое! В фортране и бэйсике версии 1,2,3 он был еще в 80-90 годах. А в 6 версии PHP он тоже включен?
 goto - это полезный  удобный операнд выхода из цикла или выполнения условия

Это сообщение отредактировал(а) kshyms - 13.11.2008, 10:02
PM MAIL WWW Skype   Вверх
bars80080
Дата 13.11.2008, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



Цитата(Resha @  23.10.2008,  11:03 Найти цитируемый пост)
при наступлении некоего if($condition) корректно прервать работу некоего PHP-скрипта, а при следующем запуске (возможно, через несколько недель) возобновить с той же точки
Цитата(Resha @  23.10.2008,  11:03 Найти цитируемый пост)
Если вдруг у вас случился сердечный приступ, то потом вы всегда сможете получить информацию, на чем вы остановились и сколько работы осталось сделать, чтобы перейти к следующему этапу.

надо только помнить, что носки можно вязать спицами, а когда вам придут заказчики с мотивировкой связать носки для КрАЗа, им видити ли шины в холодную погоду надо защитить, то следует всё-такие задуматься, а может такие вещи делаются не из ниток и не спицами?
это я к тому, что помимо гипертекстового процессора (php) есть другие механизмы, заточенные под соответствующие задачи


Цитата(kshyms @  13.11.2008,  08:56 Найти цитируемый пост)
goto - это полезный  удобный операнд выхода из цикла или выполнения условия

советую почитать это http://phpclub.ru/faq/goto
PM MAIL WWW   Вверх
Страницы: (3) Все 1 2 [3] 
Ответ в темуСоздание новой темы Создание опроса

Внимание: данный раздел предназначен для решения сложных, нестандартных задач.

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


 




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


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

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