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 :: Таймер PHP

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Описание: Помогите с обновлением Mysql по таймеру с помощью PHP
Барс
Отправлено: 07 Января, 2010 - 19:27:54
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




Пишу скрипт, и в процессе написания возникла проблема.
Принцып скрипта пинговка серверов direct connect. Пинг собирает информацию с хабов и заносит её в Mysql , но пинг осуществляется только когда пользователь заходит на сайт.


Отсюда вопрос: можно ли сделать так, чтобы php пинговал по таймеру автономно, без пользователя.

Если не внятно задал вопрос, прошу прощения, с таки не сталкивался не разу
 
 Top
Мелкий Супермодератор
Отправлено: 07 Января, 2010 - 19:30:47
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Можно. Вызывайте скрипт планировщиком
Для *nix - зовётся cron

(Отредактировано автором: 07 Января, 2010 - 19:31:36)



-----
PostgreSQL DBA
 
 Top
Барс
Отправлено: 07 Января, 2010 - 19:34:17
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




о cron слышал, но так как стоит windows откинул эту идею.
Я извиняюсь за дерзость, а можно увидить скипт для windows
 
 Top
Champion Супермодератор
Отправлено: 07 Января, 2010 - 19:36:00
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




Windows Task Scheduler
(Добавление)
http://www[dot]ixbt[dot]com/soft/ms-task-scheduler[dot]shtml
 
 Top
Барс
Отправлено: 07 Января, 2010 - 19:53:32
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




Плохо конечно, что придется к этому принуждать планировщик, хотелось бы что то в виде функции PHP или кода, но все равно спасибо ребят за помощь, очень благодарен!
 
 Top
JustUserR
Отправлено: 07 Января, 2010 - 21:55:33
Post Id



Активный участник


Покинул форум
Сообщений всего: 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

(Отредактировано автором: 07 Января, 2010 - 22:00:50)



-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
alpha_beta
Отправлено: 07 Января, 2010 - 22:42:06
Post Id


Новичок


Покинул форум
Сообщений всего: 48
Дата рег-ции: Дек. 2009  


Помог: 0 раз(а)




Барс, начиная с версии 5.1 в MySQL имеется планировщик задач. Подробнее почитать можно например тут http://adw0rd[dot]ru/2009/mysql-event-sheduler/
Так что если заранее известно, что будет использоваться MySQL версии не ниже 5.1, то можно не городить огород из Cron (его же рекомендуют и для Windows, насколько мне известно), а воспользоваться тем, что есть в MySQL.
P.S. На практике не использовал, так что надо еще отзывы посмотреть тех, кто пробовал. В Oracle это стандартная схема, но по началу была не вполне надежна.
 
 Top
JustUserR
Отправлено: 08 Января, 2010 - 12:45:28
Post Id



Активный участник


Покинул форум
Сообщений всего: 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/
 
 Top
alpha_beta
Отправлено: 08 Января, 2010 - 13:10:55
Post Id


Новичок


Покинул форум
Сообщений всего: 48
Дата рег-ции: Дек. 2009  


Помог: 0 раз(а)




JustUserR, "язык BAT" - <личное мнение автора>, про которое пора забыть.
Хотя код и получается коротким, но вот только он весьма и весьма хрупок (чего стоят те же кавычки в оформлении цикла), что делает его непригодным для поддержки.

Для скриптинга в Windows лично я использую Windows Script Host, хотя сейчас ему на смену пришел Power Shell. Оба языка очень мощные и включены в стандартную поставку Windows (первый вообще в Win98 уже есть в урезанном варианте).

Стандартный планировщик Windows хорош, только вот писать код для обоих планировщиков обычно никто не хочет (придется, если заранее система, на которой скрипт будет выполняться скрипт, не известна).


Отредактировано модератором: Champion, 11 Января, 2010 - 12:32:38
Здесь за такие выражения полагается наказание
 
 Top
Барс
Отправлено: 08 Января, 2010 - 17:38:03
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




alpha_beta то что надо!
 
 Top
JustUserR
Отправлено: 08 Января, 2010 - 21:39:01
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




alpha_beta пишет:
"Язык BAT" - это <личное мнение автора>, про которое пора забыть.
Помоему во-первых ты забыл ИМХО приписать а во-вторых прав на запуск WCH дает далеко не каждый - а вот системные команды доутспны всегда

Исправил сообщение чтобы не было той самой цитаты Подмигивание


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
EuGen Администратор
Отправлено: 11 Января, 2010 - 12:15:17
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Не ругаемся.
По теме - если не нравится планировщик, напишите собственную службу (сервис) для M$


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
alpha_beta
Отправлено: 11 Января, 2010 - 12:50:20
Post Id


Новичок


Покинул форум
Сообщений всего: 48
Дата рег-ции: Дек. 2009  


Помог: 0 раз(а)




EuGen, а никто и не ругается. Ведется конструктивный диалог Улыбка

JustUserR, никогда не сидел на Windows под пользователем, так что не знаю можно ли запуск WSH блокировать (по сути это так же системный язык, как и bat, только вот интерпретатор у него другой - более новый).

P.S. Чет меня переклинило, а как автор темы собирается использовать планировщик с MySQL (он же вроде не имеет привелегий запуска внешних задач)? Голливудская улыбка
 
 Top
JustUserR
Отправлено: 11 Января, 2010 - 13:02:49
Post Id



Активный участник


Покинул форум
Сообщений всего: 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/
 
 Top
alpha_beta
Отправлено: 11 Января, 2010 - 13:42:42
Post Id


Новичок


Покинул форум
Сообщений всего: 48
Дата рег-ции: Дек. 2009  


Помог: 0 раз(а)




Цитата:
НО (Тут вся фишка) когда пишутся кросс-платформенные приложения на PHP то лучше не использовать никаких системных хитростей
...
То же самое и здесь - лучше использовать именно BAT и набор системных команд из него - хотя бы еще потому что PHP-Win32API фи а PHP с системными командами очень неплохо работает.

Т.е. предлагается использовать php для генерации скриптов вида
CODE (text):
скопировать код в буфер обмена
  1. Скопировать вот этот файл сюда
  2. Запустить внешнюю программу
  3. далить папку с логами

?
Ну как бы php и сам все превосходно это умеет делать (интересно, а что умеет делать bat из того, что не умеет сам php?). С WinAPI WSH (активно именуемый вами WCH Улыбка), увы, работать так же, как и bat, не умеет.
Для make и прочих, с моей точки зрения bat используется по следующим причинам:

  • тривиальная последовательность команд
  • основное понятно даже неискушенному в программировании пользователю
  • bat-файлы проще генерить, да и их редко кто читает


Так же отмечу, что bat излишне популяризуют те, кто использовал его до этого и смотреть WSH не хочет. Хотя пугаться там абсолютно нечего - язык VBScript или JavaScript на выбор, известен почти любому.
Под *nix-shell на практике приходилось использовать bash, поскольку возможностей sh зачастую не хватало. bat еще хуже sh.
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB