Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Как запустить выполнение программы.exe на сервере? [3]
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
MoNSTRiK пишет:
Задача: создать массовый запуск серверов через пхп, но каждый последующий сервер должен начать загружаться через 5 секунд после предыдущего.
Вообще задача не сильно сложная хотят тут важен один момент - если вам нужно обязательно чтобы последующий PHP-скрипт запускался через 5 секунд после полного завершения предыдущего то задача немного сложнее - инчае просто делаете sleep(5) и exec самого на себя Для передачи даннх между сессиями используется определенный файл или memcached и похожие сервисы
Если же нужно запускать строго после окончания предыдущего то нужен планировщик cron - под windows аналог AT и запись состояния когда завершился последний PHP-скрипт При этом и в первом случае лучше подстраховаться планировщиком и время от времени по списку процессов проверять не упала ли цпочка выполнения PHP-скриптов и если да то перезапускать соответствующий процесс
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
voltag
Отправлено: 05 Февраля, 2010 - 16:08:40
Новичок
Покинул форум
Сообщений всего: 39
Дата рег-ции: Янв. 2010
Помог: 1 раз(а)
JustUserR прав, насчёт укорачивания предельного времени работы страницы(сброс ошибок).
Может я уже поздно совет даю... если Страничка виснет при обращении, а нужно чтобы вэбинтерфейс запуска нормально работал можно передавать через АЯКС команду к запуску сервера и ожидание ответа от АЯКСА прервать руками. И интерфейс не повиснет и можно вывести, что команда на Вкл сервера дана, и даже сохранить данные о том что сервер включён(вторым запросом АЯКС ) и т.д.
MoNSTRiK
Отправлено: 05 Февраля, 2010 - 16:35:59
Новичок
Покинул форум
Сообщений всего: 39
Дата рег-ции: Май 2009
Помог: 0 раз(а)
voltag пишет:
можно передавать через АЯКС команду к запуску сервера
Увы понять аякс не удалось пока.
Не нашёл доходчивых примеров и описания.
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
voltag пишет:
Если страничка виснет при обращении, а нужно чтобы вэбинтерфейс запуска нормально работал можно передавать через АЯКС команду к запуску сервера и ожидание ответа от АЯКСА прервать руками
На самом деле очень полезные совет и я полностью поддерживаю его - web-интерфейс у пользователя должен быть таким чтобы ядро загружалось практически мгновенно и все остальные операции по обмену информацией с сервером сопровождались как минимум сообщениям и загрузке и о ходе передачи и приема информции особенно если она имеет большой объем и приходится долго ждать - у пользователя особенно при медленном итернете никогда не должно быть оущещения что страница попросту взвисла
MoNSTRiK пишет:
Как работает понятно, а как на нём писать...
Обычный JS со специальными библиотеками
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
voltag
Отправлено: 07 Февраля, 2010 - 11:16:23
Новичок
Покинул форум
Сообщений всего: 39
Дата рег-ции: Янв. 2010
Помог: 1 раз(а)
MoNSTRiK пишет:
Увы понять аякс не удалось пока.
Не нашёл доходчивых примеров и описания.
как работает понятно, а как на нём писать...
Здравствуйте.
Насчёт Аякса... сейчас попробую объяснить. АЯКС - это общее название(как я понимаю) методов работы и сама работа объекта языка JAVA SCRIPT. То есть, если Вы умеете использовать объект XMLHttpRequest вы знаете АЯКС(грубо говоря). К термину "знание" АЯКСА я бы прибавил опыт работы с "тонкими клиентами"(но это уже не к теме).
Этот объект обладает одним потрясающем свойством ВЫ МОЖЕТЕ ОБРАТИТЬСЯ К ДРУГОЙ СТРАНИЦЕ И НЕ ПЕРЕГРУЖАТЬ ВАШУ ЗАГРУЖЕННУЮ СТРАНИЧКУ. Причём со всеми причитающимися причиндалами такими как ПОСТ ГЕТ запросы.Сессии работаю тоже(Это если вы хотите писать защищённое приложение). Результат работы (ответа) на Ваш запрос Вы формируете сами и обрабатываете как хотите.
Когда Ваш интерфейс обращается через объект XMLHttpRequest зависание происходить только на серверном скрипте, а не на Вашем ВебКлиенте... и Вы можете работать дальше.
Итак для инициализации объекта я использую такой код
Если Вы хотите обрабтать ошибки Вашего ПХП скрипта то можно Убрать AjaxQuery.abort(); из обращения... и смотреть что вернёться ))). Но это не хорошо, так как вы можете оставите повисший обьект клиенту(некоторые браузеры не выносят более 2ух запросов и отказываються делать следующие, до закрытия соединения).... можно например результат работы Вашего скрипта писать в файл... и обращатся к этому файлу следующим Аякс запросом, если файл ПУСТ то всё хорошо(просто скрипт повис)(а может и не пуст поскольку Вы писали что скрипт сработал), если в файле что-то есть.. значит что-то пошло не так....
насчёт Массового запуска скриптов... это тоже можно делать через запросы .. но надо ещё прописать таймер(там всё ещё проще).. но есть недостаток. Чтобы джаваскрипты выполнились Вам их надо загрузить на пользовательскую машину. Через Хрон например такую штуку сделать не получиться.
Есть ещё одно решение, можно написать что нибудь на Сях, Делфях и т д.. я имею ввиду программу, которая обращалась бы в сеть и проверяла состояния серверов, и если они в дауне запускал их... ступенчато....
так насчёт реализации на ПХП.. JustUserR прав .. я бы поэкспериментировал с функцией file_get_contents() (кажеться правильно написал) и делал бы sleep(1) до того момента пока не получу ответ... хотя возможно сам ПХП приостанавливается для получения данных, я не знаю... надо тесты писать.....
Вроде всё...
Надеюсь что мой пост Вам поможет, спасибо что дочитали до конца
JustUserR
Отправлено: 07 Февраля, 2010 - 13:43:32
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
voltag пишет:
Я бы поэкспериментировал с функцией file_get_contents() (кажеться правильно написал) и делал бы sleep(1) до того момента пока не получу ответ... хотя возможно сам ПХП приостанавливается для получения данных
На самом деле PHP не начинает свое исполнение до тех пор пока не получит полностью GET и POST-данные - именно по этой причине на чистом PHP без ActiveX-элементов на стороне клиента впринципе невозможно написать обработчик для progress-бара загрузки файлов к примеру
voltag пишет:
Вроде всё...
Надеюсь что мой пост Вам поможет, спасибо что дочитали до конца
Ваш пост бы чуть-чуть отредактировать да поместить в обучающие статьи (Уроки на нашем форуме - думаю те кто занимается эим вопросом обязательно так сделают
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
MoNSTRiK
Отправлено: 08 Февраля, 2010 - 00:12:16
Новичок
Покинул форум
Сообщений всего: 39
Дата рег-ции: Май 2009
Помог: 0 раз(а)
voltag пишет:
... много текста ...
Спасибо за попутку разъяснить.
Видима пока не дорос до этого. Вообще javascript тяжко идёт
В выходные попробую разобрать ваш пример, может что и получится
Покинул форум
Сообщений всего: 39
Дата рег-ции: Янв. 2010
Помог: 1 раз(а)
JustUserR пишет:
voltag пишет:
Я бы поэкспериментировал с функцией file_get_contents() (кажеться правильно написал) и делал бы sleep(1) до того момента пока не получу ответ... хотя возможно сам ПХП приостанавливается для получения данных
На самом деле PHP не начинает свое исполнение до тех пор пока не получит полностью GET и POST-данные - именно по этой причине на чистом PHP без ActiveX-элементов на стороне клиента впринципе невозможно написать обработчик для progress-бара загрузки файлов к примеру
Спасибо... за поправку.. слона то я и не приметил
to MoNSTRiK.
В джаваскриптах нет ничего сложного. Просто есть, как в каждом языке свои нюансы, и своя направленность. Если Всё это учитывать то код будет писаться сам. Использование чудесного Джаваскрипта на стороне клиента позволяет расширить возможности вэб интерфейса. Я попробую описать различия ПХП и Джаваскрипт, поскольку вы знаете ПХП то зная различия Вам не составит труда писать код на Джаваскрипт.
1 Джаваскрипт начинает работать(исполняться) только при помещения кода в БРАУЗЕР. То есть браузер является средой выполнения. В случае с ПХП это сервер.
2. У джаваскрипта окружение это текущий ХТМЛ документ и сам браузер(доступ к некоторым функциям например добавление в избранное), в ПХП это переменные окружения(например ГЕТ и ПОСТ массивы)
3. Джаваскрипт более объектно ориентированный язык чем ПХП(например любая строка можно сказать объект у которого есть свойство длинна)
4. В джаваскрипт МОЖНО просто сперва занести код программы в строковую переменную, а потом ВЫПОЛНИТЬ его(некоторые думают что это не сверх свойство которые достойно быть отличительной чертой, но я считаю что достойно!).
5. Память с которой вы работаете это оперативная память клиента... в ПХП это вычисления которые производятся на сервере.
6. В ПХП вы пишети скрипт который выполняется 1 раз при обращении к скрипту. В Джаваскрипт вы задаёте динамику окружения самой ХТМЛ страницы. Вы можете предопределить события срабатывания любой функции из подгруженных на Ваше усмотрение.... совет: если Вы хотите чтобы какя-нибудь функция сразу срабтала после загрузки ХТМЛ документа в БОДИ пердопределите событие onload. Возьмите себе за правило никогда не делать изменения с документом до загрузки onload, но Вы можете прекрасно объявлять переменные... при предопределении переменных у Вас функции использующие эти перменные будут работать быстрее. Вот примеры
Пример стандартно функции:
если Вам 1 раз надо вызвать RewindDIV() то ничего страшного не будет(тормознутости не будет), но если вам необходимо вызывать её например 100 раз то быстрее будет "ускоренный вариант".
Ещё один Вариант(Без создания переменной) должно работать чуть быстрее, но я не проверял.
document.GetElementById('mydiv').innerHTML='My First Edited Div';
}
Событий существует куча я сейчас по памяти всё не напишу: ОнКлик, ОнДаблКлик, ОнМаусМуве, ОнмаусАут и др более специфичные...
Вобщем чтбы работать с документом надо сперва получить из окружения(найти нужный элемент) данные и изменить его. По поиску тоже можно целую статью писать.. но на старте изучения нужны всего 2 функции это getElementById getElementByName(это для совсем продвинутых) возвращает массив объектов у которых name равен заданному.
Я просто устал писать, всё можно найти в сети.... основу я вроде выдал... можно для примера разобрать библиотеку jQuery хотя бы строек 10... хотя.. во .. набиваете в браузере гугл.. и даже ничего в поиске не надо вбивать сразу смотрите исходный код.. написано достаточно хорошо и понятно... у них там хороший пример выпадающего меню, сейчас ещё наверно есть пример постепенного появления контента на странице по событию он маусМуве.... если пользуйтесь файрфоксом поставьте плагин FireBug очень поможет для тестирования изучения скриптов ваших и чужих
удачного познания
Забыл добавить код ХТМЛ страницы с которой мы работаем
вот
При клике на Диве текст в нём должен измениться )... вот только надо проверить обязательно ли для элемента указывать при таком раскладе id... никогда не проверял ...
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
voltag Можете написать ваши посты про JS и AJAX в одну статью в форматировании данного форума и поместим ее в раздел уровков или прикрепим в разеделе JS
Если хотите я могу сам скопировать ваш текст в статью
Цитата:
Спасибо... за поправку.. слона то я и не приметил
Пожалуйста! Кстати эта поправка распространяется исключительно на PHP - например в Perl можно получать данные в реальном времени во время выполнения самого кода Perl-скрипта
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
voltag
Отправлено: 08 Февраля, 2010 - 21:50:42
Новичок
Покинул форум
Сообщений всего: 39
Дата рег-ции: Янв. 2010
Помог: 1 раз(а)
JustUserR пишет:
voltag Можете написать ваши посты про JS и AJAX в одну статью в форматировании данного форума и поместим ее в раздел уровков или прикрепим в разеделе JS
Если Вы считаете что это поможет другим людям, то конечно. Много всего ещё хотелось добавить... и потом даже если я распишу всё с примерами, ничто не заменит истинной практики и гуглопознания, или например живого общения. Как будет немного свободного времени я подготовлю материал и отпишу.. только скажите куда.
JustUserR пишет:
Кстати эта поправка распространяется исключительно на PHP
По поводу поправки... я столкнулся с невозможностью обращаться к данным во время выполнения скрипта когда писал сервис по загрузке файлов(что-то типа рапидшар), писал ради интереса. И мне пришлось выпутываться и ставить дополнения к Апачу. Я к сожалению мало что понимаю в Админстве Никсов. Я снимаю виртуальный выделенный сервер и там ко мне поддержка хорошо относиться... я к ним обратился и они модуль мне поставили через который я смог получать инфу о загружаемом файле..... название не помню
Спасибо.. я узнал ещё одно достоинство Перла... к сожалению я пока не нашёл ни материалов нормальных ни времени на этот великолепный язык, к питону кстати тоже....
и простите за то что не по "ТЕМЕ"
MoNSTRiK
Отправлено: 09 Февраля, 2010 - 00:00:08
Новичок
Покинул форум
Сообщений всего: 39
Дата рег-ции: Май 2009
Помог: 0 раз(а)
ух....
Истина где-то рядом
Спасибо за потраченное время, постараюсь всё разобрать и понять.
Java - использую ну в очень элементарных случаях. Что-то умею и понимаю.
Вы меня подтолкнули к той грани где я уже почти вступил в эту оболочку аякса. Страшно, но интересно.
Покинул форум
Сообщений всего: 39
Дата рег-ции: Янв. 2010
Помог: 1 раз(а)
MoNSTRiK пишет:
Спасибо за потраченное время, постараюсь всё разобрать и понять.
Всегда пожалуйста, если это Вам поможет.
MoNSTRiK пишет:
Java - использую ну в очень элементарных случаях.
Простите, что подмечаю... Java - отдельный язык программирования, он никак не относиться к языку JavaScript ...прошу не путайте их. Хотя и Java можно использовать для разработки вэб приложений.... это называется джава апплеты.
Если у Вас появятся вопросы - пишите. Всегда отвечу настолько быстро, насколько смогу. Редко в сети можно найти хорошего вопрошающего....
С уважением
JustUserR
Отправлено: 09 Февраля, 2010 - 13:57:51
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
voltag пишет:
Как будет немного свободного времени я подготовлю материал и отпишу.. только скажите куда
Спасибо вам за уделенное время - можете создать тему в разделе JS и я ее там прикреплю - или администрация потом перенесет ее в уроки
voltag пишет:
По поводу поправки... я столкнулся с невозможностью обращаться к данным во время выполнения скрипта когда писал сервис по загрузке файлов(что-то типа рапидшар), писал ради интереса. И мне пришлось выпутываться и ставить дополнения к Апачу. Я к сожалению мало что понимаю в Админстве Никсов. Я снимаю виртуальный выделенный сервер и там ко мне поддержка хорошо относиться... я к ним обратился и они модуль мне поставили через который я смог получать инфу о загружаемом файле..... название не помню
Да действительно данная проблема решается только двумя способами Первый способ это установка дополнения к PHP или Apache которое долно помогать сохранять информацию о файлах загружаемых через PST-запросы что завершения их загрузки Второй способ это установка на клиента ActiveX-приложения которое позволяет добывать дополнительную информацию о файле и процессе его отдачи у клиента и передачи той информации на сервер - кстати для этого част используются flash-приложения
voltag пишет:
Спасибо.. я узнал ещё одно достоинство Перла... к сожалению я пока не нашёл ни материалов нормальных ни времени на этот великолепный язык, к питону кстати тоже...
Пожалуйста! Действительно этот факт распространяется на любые программы работающие через CGI и получающие данные в реальном времени - именно поэтому backend-ы часто пишут на Pelrе Добро пожаловать в мой раздел http://forum.php.su/forums.php?forum=63
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.