Перезагрузка функций и скрипта

EntC

Новичок
Перезагрузка функций и скрипта

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

Anarki

Новичок
И ещё один схоижй вопрос - как перезагрузить скрипт во время его работы - тоесть, чтобы все изменения, которые я сделал в скрипте, после сохранения скрипта и его перезагрузки вступили в силу?
Убьешь процесс и перезапустишь и все изменения будут в силе.
 

Wicked

Новичок
EntC
что в твоем понимании есть:
1) "перезагрузка функции"
2) "перезагрузка скрипта"
3) "изменения, которые ты сделал в скрипте"
?
 

dimagolov

Новичок
EntC, а зачем такое надо? перезагрузка свойств предка при наследовании не помогает? или банальное изменение объекта метод которого вызывается?

что понимать под изминениями в скрипте? Вы что, базу в пхп держите?
 

EntC

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

dimagolov

Новичок
EntC,
во-первых, скрипт на php в общем случае не может работать непрерывно, он работает от получения запроса от клиента до конца генерации ответа на него.
Автор оригинала: EntC
Далее,например, я произвожу изменения в своих функциях
раскажите что Вы для этого делаете? очень интересно узнать...
 

MiksIr

miksir@home:~$
Выносишь свои функции в отдельный файл(ы), в основном скрипте инклудишь их, запоминаешь время модификации, потом проверяешь, если изменилось - снова иклудишь. Что в этих файлах - вариантов много. Можно, например, создавать функции через create_function, или просто определять переменную с кодом для последующего евала. Внешне криво, но работать будет.
С базовым скриптом сложнее - конкретно задача нужна что откуда читает, но никто не мешает весь код вынести в функции вообще.
 

EntC

Новичок
1. - dimagolov - while(isset($flag)) {...} - почему же не может работать бесконечно? или я не так Вас понял.
Изменения? Либо вручную модифицирую файл с функциями (он вынесен в отдельный файл), или даю команду- скачать новые функции оттуда-то.
2. - MiksIr - дважды инклудить функции нельзя . А насчёт проверки-выше написано.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
EntC
От Вас прозвучит ответ на вопрос _ЗАЧЕМ_?
 

dimagolov

Новичок
EntC, после исполнения set_time_limit(0); конечно скрипт может выполняться бесконечно, вопрос зачем.

спрошу еще раз, зачем все это надо:
1. бесконечное выполнение
2. модификация функций
 

EntC

Новичок
Бесконечное выполнение нужно,чтобы не прерывать работу скрипта. (уже говорил,что это критично. Чревато потерей данных) Модификация функций- просто обновление.
 

dimagolov

Новичок
EntC, просто обновление ЧЕГО В КОНЦЕ КОНЦОВ? ДЛЯ ЧЕГО, ЗАЧЕМ ЧТО-ТО ОБНОВЛЯТЬ В КОДЕ СКРИПТА?
 

Wicked

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

dimagolov

Новичок
по-моему это или портирование кода perl на php или попытка писать как на perl-е на php
 

EntC

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

Sokil.Dmytro

Новичок
ща буду тупить...

а зачем переопределять функцию если можно делать

PHP:
function runThis()
{
   include "somefunccode.php";
}
а в somefunccode.php уже пиши шо хош :)

-~{}~ 04.08.07 00:00:

можно еще в статик засунуть дату модификации инклуженого файла и в случае равенства текущей зпапомненой и новой считаной отменять инклуд

-~{}~ 04.08.07 00:03:

хотя бред несу
 

EntC

Новичок
Sokil.Dmytro - это тот же самый инклуд, про который уже говорилось.

Должен кое что добавить - скрипт получает данные из сокета. То есть , можно делать всё.что угодно, но нельзя терять связь с сокетом.

Как всё получается - скрипт ведь грузится в память, а изменения.которые я произвожу, сохранются на жёстком диске. Сам пхп не поддерживает перезагрузку функций, но быть может, вы знаете как обойти данное ограничение ,зная условия выше?
 

Sokil.Dmytro

Новичок
дык ты инклудишь не функцию а то что внутри ее! сама функция не переопределяется
 

dimagolov

Новичок
EntC, так и не услышали ответа на вопрос зачем именно перезагружать функцию.

раз про сокеты речь, значит пишем демона.

то что ты получаешь, это данные. вот и храни эти данные в СУБД, файлах, где угодно, когда они нужны подгружай опять в память.

зачем трогать код????
 
Сверху