Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: php крон
 
 автор: Blizard   (18.11.2011 в 13:40)   письмо автору
 
 

Можно ли на php создать демона без крона? Т.е. так чтобы скрипт постоянно выполнялся раз в минуту не используя крон?

  Ответить  
 
 автор: cheops   (18.11.2011 в 13:43)   письмо автору
 
   для: Blizard   (18.11.2011 в 13:40)
 

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

  Ответить  
 
 автор: Ильдар   (18.11.2011 в 19:13)   письмо автору
 
   для: cheops   (18.11.2011 в 13:43)
 

а что если while (1) { .... }?

  Ответить  
 
 автор: cheops   (18.11.2011 в 19:21)   письмо автору
 
   для: Ильдар   (18.11.2011 в 19:13)
 

Ну да, можно, только нужны вызовы sleep(), иначе цикл будет вхолостую жрать такты процессора и нужно снять ограничение по времени работы скрипта, иначе по достижении 30 секунд, его работа будет прекращена. Ну и еще одна неприятность, память, которую использует скрипт, будет потеряна для работы сервера - cron жрет в десятки раз меньше, чем PHP, а уж тем более PHP в составе Apache-процесса.

  Ответить  
 
 автор: brys   (18.11.2011 в 19:30)   письмо автору
 
   для: cheops   (18.11.2011 в 19:21)
 

а если использовать ajax и вызывать скрипт через определенное время?

  Ответить  
 
 автор: cheops   (18.11.2011 в 19:39)   письмо автору
 
   для: brys   (18.11.2011 в 19:30)
 

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

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования