Покинул форум
Сообщений всего: 4
Дата рег-ции: Янв. 2010
Помог: 0 раз(а)
Пишу скрипт, и в процессе написания возникла проблема.
Принцып скрипта пинговка серверов direct connect. Пинг собирает информацию с хабов и заносит её в Mysql , но пинг осуществляется только когда пользователь заходит на сайт.
Отсюда вопрос: можно ли сделать так, чтобы php пинговал по таймеру автономно, без пользователя.
Если не внятно задал вопрос, прошу прощения, с таки не сталкивался не разу
Мелкий
Отправлено: 07 Января, 2010 - 19:30:47
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Можно. Вызывайте скрипт планировщиком
Для *nix - зовётся cron
Покинул форум
Сообщений всего: 4
Дата рег-ции: Янв. 2010
Помог: 0 раз(а)
Плохо конечно, что придется к этому принуждать планировщик, хотелось бы что то в виде функции PHP или кода, но все равно спасибо ребят за помощь, очень благодарен!
JustUserR
Отправлено: 07 Января, 2010 - 21:55:33
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
Барс В windows это делает командой AT - описание команды AT /? - в *NIX это делается cronом - определить операционну систему средствами PHP (Например при установке вашей системы и выбора нужной команды) не представляем трудностей
Champion [url]Windows Task Scheduler http://www.ixbt.com/soft/ms-task-scheduler.shtml[/url] Интересно чем это помощет товарищу (Как скажем из PHP-скрипта запустить такой планировщик? Так что вам советую тоже почитать про команду AT или просто вызвать HELP
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
alpha_beta
Отправлено: 07 Января, 2010 - 22:42:06
Новичок
Покинул форум
Сообщений всего: 48
Дата рег-ции: Дек. 2009
Помог: 0 раз(а)
Барс, начиная с версии 5.1 в MySQL имеется планировщик задач. Подробнее почитать можно например тут http://adw0rd[dot]ru/2009/mysql-event-sheduler/
Так что если заранее известно, что будет использоваться MySQL версии не ниже 5.1, то можно не городить огород из Cron (его же рекомендуют и для Windows, насколько мне известно), а воспользоваться тем, что есть в MySQL.
P.S. На практике не использовал, так что надо еще отзывы посмотреть тех, кто пробовал. В Oracle это стандартная схема, но по началу была не вполне надежна.
JustUserR
Отправлено: 08 Января, 2010 - 12:45:28
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
alpha_beta пишет:
Не городить огород из Cron (Его же рекомендуют и для Windows, насколько мне известно
Если вы имеете в виду Unix tools под windows то это не совсем так - лучше использовать стандартный планоровщик по команде AT
И вообще помоему вместе с языками типа PHP народ стал хорошо знать команды UNIX (Типа cron ps grep и тд) а команды win (Под которой многие сидят) подзабыли - уж раз пишите под windows то подучите "язык BAT" - можно почитать немного тут http://www[dot]inattack[dot]ru/article/385[dot]html
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
alpha_beta
Отправлено: 08 Января, 2010 - 13:10:55
Новичок
Покинул форум
Сообщений всего: 48
Дата рег-ции: Дек. 2009
Помог: 0 раз(а)
JustUserR, "язык BAT" - <личное мнение автора>, про которое пора забыть.
Хотя код и получается коротким, но вот только он весьма и весьма хрупок (чего стоят те же кавычки в оформлении цикла), что делает его непригодным для поддержки.
Для скриптинга в Windows лично я использую Windows Script Host, хотя сейчас ему на смену пришел Power Shell. Оба языка очень мощные и включены в стандартную поставку Windows (первый вообще в Win98 уже есть в урезанном варианте).
Стандартный планировщик Windows хорош, только вот писать код для обоих планировщиков обычно никто не хочет (придется, если заранее система, на которой скрипт будет выполняться скрипт, не известна).Отредактировано модератором: Champion, 11 Января, 2010 - 12:32:38 Здесь за такие выражения полагается наказание
Барс
Отправлено: 08 Января, 2010 - 17:38:03
Новичок
Покинул форум
Сообщений всего: 4
Дата рег-ции: Янв. 2010
Помог: 0 раз(а)
alpha_beta то что надо!
JustUserR
Отправлено: 08 Января, 2010 - 21:39:01
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
alpha_beta пишет:
"Язык BAT" - это <личное мнение автора>, про которое пора забыть.
Помоему во-первых ты забыл ИМХО приписать а во-вторых прав на запуск WCH дает далеко не каждый - а вот системные команды доутспны всегда
Исправил сообщение чтобы не было той самой цитаты
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
EuGen
Отправлено: 11 Января, 2010 - 12:15:17
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Не ругаемся.
По теме - если не нравится планировщик, напишите собственную службу (сервис) для M$
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
alpha_beta
Отправлено: 11 Января, 2010 - 12:50:20
Новичок
Покинул форум
Сообщений всего: 48
Дата рег-ции: Дек. 2009
Помог: 0 раз(а)
EuGen, а никто и не ругается. Ведется конструктивный диалог
JustUserR, никогда не сидел на Windows под пользователем, так что не знаю можно ли запуск WSH блокировать (по сути это так же системный язык, как и bat, только вот интерпретатор у него другой - более новый).
P.S. Чет меня переклинило, а как автор темы собирается использовать планировщик с MySQL (он же вроде не имеет привелегий запуска внешних задач)?
JustUserR
Отправлено: 11 Января, 2010 - 13:02:49
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
alpha_beta пишет:
JustUserR, никогда не сидел на Windows под пользователем, так что не знаю можно ли запуск WSH блокировать (по сути это так же системный язык, как и bat, только вот интерпретатор у него другой - более новый)
Понимаете товарищ о чем речь - если писать какие-то служебные скрипты под Windows и работать с ними скажем из какой-ниубдь Visual Studio то действительно WCH гораздо лучше
НО (Тут вся фишка) когда пишутся кросс-платформенные приложения на PHP то лучше не использовать никаких системных хитростей Ведь под UNIX командная строка sh/bash тоже далеко не лучшее решение - есть и perl встроенный который гораздо мощнее
Но как вы заметите все служебные програмки (Типа configure для make-ов пишут на sh) То же самое и здесь - лучше использовать именно BAT и набор системных команд из него - хотя бы еще потому что PHP-Win32API фи а PHP с системными командами очень неплохо работает
Если вы заметите то очень многие Perl-скрипты под Windows лежат именно в BATах (Смотрите пакет ActivePerl под windows который является самым основным официальным perl для windows)
Главное понимать что под BATом имеется в виду не само написание программ на BAT а использование его для создания исполняемых сценариев
EuGen пишет:
По теме - если не нравится планировщик, напишите собственную службу (сервис) для M$
А вы считаете что самым оптимальным средством для PHP-скриптов использующиз возможности различных ОС является мой вариант приведенный выше?
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
alpha_beta
Отправлено: 11 Января, 2010 - 13:42:42
Новичок
Покинул форум
Сообщений всего: 48
Дата рег-ции: Дек. 2009
Помог: 0 раз(а)
Цитата:
НО (Тут вся фишка) когда пишутся кросс-платформенные приложения на PHP то лучше не использовать никаких системных хитростей
...
То же самое и здесь - лучше использовать именно BAT и набор системных команд из него - хотя бы еще потому что PHP-Win32API фи а PHP с системными командами очень неплохо работает.
Т.е. предлагается использовать php для генерации скриптов вида
?
Ну как бы php и сам все превосходно это умеет делать (интересно, а что умеет делать bat из того, что не умеет сам php?). С WinAPI WSH (активно именуемый вами WCH ), увы, работать так же, как и bat, не умеет.
Для make и прочих, с моей точки зрения bat используется по следующим причинам:
тривиальная последовательность команд
основное понятно даже неискушенному в программировании пользователю
bat-файлы проще генерить, да и их редко кто читает
Так же отмечу, что bat излишне популяризуют те, кто использовал его до этого и смотреть WSH не хочет. Хотя пугаться там абсолютно нечего - язык VBScript или JavaScript на выбор, известен почти любому.
Под *nix-shell на практике приходилось использовать bash, поскольку возможностей sh зачастую не хватало. bat еще хуже sh.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.