Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Долгоиграющий скрипт. CRON-запуск каждую минуту. PHP или Perl ? 
:(
    Опции темы
Wowa
Дата 10.12.2005, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: 1
Всего: 290



Есть сложный скрипт, который должен обрабатывать некоторые данные. Время обработки данных будет обычно всегда по несколько минут длиться. Скрипт будет запускаться через CRON каждую минуту или же раз в 5 минут.

Вопрос: Лучше писать этот скрипт на PHP или Perl?

PHP ведь накладывает ограничение на время исполнения скрипта в 30 сек. Ясно, что это значение через php.ini можно изменить, но ведь всего сервера....



Впрочем, мне не нужно мой скрипт выполнять через веб-сервер. А устроит прямой запуск. Как его через Крон запускать? Так? php /etc/script.php


В этом случае не будет ограничения на время выполнения?
PM WWW   Вверх
-=Ustas=-
Дата 10.12.2005, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 32
Всего: 69



Цитата(Wowa @ 10.12.2005, 12:35)
PHP ведь накладывает ограничение на время исполнения скрипта в 30 сек. Ясно, что это значение через php.ini можно изменить, но ведь всего сервера....

Ну зачем же?! smile Можно в ПХП скрипте прописать set_time_limit(int second);
Цитата(Wowa @ 10.12.2005, 12:35)
Время обработки данных будет обычно всегда по несколько минут длиться

Цитата(Wowa @ 10.12.2005, 12:35)
Скрипт будет запускаться через CRON каждую минуту

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


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Wowa
Дата 10.12.2005, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: 1
Всего: 290



Цитата

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

не загнется, т.к. далеко не всегда время обработки - несколько минут.
PM WWW   Вверх
AntonioBanderaz
Дата 10.12.2005, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Velichko Anton
**


Профиль
Группа: Участник
Сообщений: 851
Регистрация: 28.4.2005
Где: Санкт-Петербург

Репутация: 2
Всего: 18



Можно и не только так сделать,всё это дело мона в бесконечный цикл засунуть... Но тогда переодичность упадёт.
Только в начале срипта поставь set_time_limit(0);

А лучше всего использовать нативную прогу, которую ты будешь запускать через system или exec, строишь демон на PHP.


--------------------
ГЫ... 
PM MAIL ICQ   Вверх
AkimVital
Дата 10.12.2005, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 25.11.2005

Репутация: нет
Всего: нет



По своему опыту скажу:
похожие программы на ПХП жрут 98% Memory и дохрена эфирного времени процессора, в результате чего апач рискует в конце концов cдохнуть и перезапуститься (скрипт рискует неотработать полностью - для некоторых систем это критично) и это затягивается надолго. Если PHP - модуль CGI, результаты не столь плачевны.
В то время как Perl предназначен для таких целей, быстрее выполняется и (по моей практике) не потребляет больше 5-10% Memory. Апач от него тоже вряд ли сдохнет =)

Если Запускается кроном - однозначно не ПХП ибо крон выполняет команды(!) а пхп вызывается апачем (исключение опять же CGI-PHP)

для этого в начале файла надо как и перлу прописать
#!/usr/bin/php
И естесно сделать его исполняемым...

Это сообщение отредактировал(а) AkimVital - 10.12.2005, 22:26
PM MAIL   Вверх
Mal Hack
Дата 10.12.2005, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(Wowa @ 10.12.2005, 12:35)
В этом случае не будет ограничения на время выполнения?

Нет. (100% не дам, но где-то проскальзывало).

Демона лучше вобще писать на Си. ПХП для этого, мягко говоря, не годиться.
Перл - получше, но тоже не сильно удачно, по сравнению с сями.
PM ICQ   Вверх
AkimVital
Дата 10.12.2005, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 25.11.2005

Репутация: нет
Всего: нет



Цитата(AntonioBanderaz @ 10.12.2005, 14:29)
А лучше всего использовать нативную прогу, которую ты будешь запускать через system или exec

smile ага... прикольно: Запускаем кроном ПХП, чтобы запустить system.....
Цитата(AntonioBanderaz @ 10.12.2005, 14:29)
, строишь демон на PHP.

Это вообще смешно...

Это сообщение отредактировал(а) AkimVital - 10.12.2005, 22:29
PM MAIL   Вверх
Wowa
Дата 10.12.2005, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: 1
Всего: 290



Цитата(AkimVital @ 10.12.2005, 20:22)
Если Запускается кроном - однозначно не ПХП ибо крон выполняет команды(!) а пхп вызывается апачем (исключение опять же CGI-PHP)


дык, а разве нельзя дать команду: php myscript.php ? Разве не будет работать также, как perl myscript.pl ?
PM WWW   Вверх
AkimVital
Дата 10.12.2005, 22:30 (ссылка)  | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 25.11.2005

Репутация: нет
Всего: нет



Цитата(Wowa @ 10.12.2005, 22:28)
дык, а разве нельзя дать команду: php myscript.php ? Разве не будет работать также, как perl myscript.pl ?

можно, только ключ нужен, по-моему -r
Добавлено @ 22:33
php -h
Usage: php [options] [-f] <file> [args...]
php [options] -r <code> [args...]
php [options] [-- args...]
-a Run interactively
-c <path>|<file> Look for php.ini file in this directory
-n No php.ini file will be used
-d foo[=bar] Define INI entry foo with value 'bar'
-e Generate extended information for debugger/profiler
-f <file> Parse <file>.
-h This help
-i PHP information
-l Syntax check only (lint)
-m Show compiled in modules
-r <code> Run PHP <code> without using script tags <?..?>
-s Display colour syntax highlighted source.
-v Version number
-w Display source with stripped comments and whitespace.
-z <file> Load Zend extension <file>.

args... Arguments passed to script. Use -- args when first argument
starts with - or script is read from stdin

PM MAIL   Вверх
Wowa
Дата 10.12.2005, 22:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: 1
Всего: 290



Цитата(AkimVital @ 10.12.2005, 20:30)
можно

раз можно, то какие проблемы? Даже с тем же демоном на пхп, построительство которого ты назвал смешным. Есть аргументы?
PM WWW   Вверх
Mal Hack
Дата 10.12.2005, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Wowa php как демон тяжелый получается.
PM ICQ   Вверх
Wowa
Дата 10.12.2005, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: 1
Всего: 290



Цитата(Mal @ 10.12.2005, 20:46)
Wowa php как демон тяжелый получается.

за счет чего?
PM WWW   Вверх
Mal Hack
Дата 10.12.2005, 22:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(Wowa @ 10.12.2005, 22:47)
за счет чего?

Не ориентирован ПХП на такие вещи. Да, может и на каких-то задачах это не будет заметно, но на других - да.
PM ICQ   Вверх
Wowa
Дата 10.12.2005, 22:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: 1
Всего: 290



Цитата(Mal @ 10.12.2005, 20:52)
Да, может и на каких-то задачах это не будет заметно, но на других - да.

я плохо могу себе представить такую задачу, т.к. не вижу причин для тормозов скрипта. Пока мне их тут тоже никто не назвал..
PM WWW   Вверх
AkimVital
Дата 10.12.2005, 22:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 25.11.2005

Репутация: нет
Всего: нет



Цитата(Wowa @ 10.12.2005, 22:44)
раз можно, то какие проблемы? Даже с тем же демоном на пхп, построительство которого ты назвал смешным. Есть аргументы?

Есть: хотя бы если это демон, он должен иметь хоть какуб-то степень свободы (запуска, завершения) - ага... модуль апача как раз тот случай !!!
А остальное уже было сказано... читай форум внимательно.
Добавлено @ 22:58
Цитата(Wowa @ 10.12.2005, 22:56)
.к. не вижу причин для тормозов скрипта.

наприм, то же взаимодействие с базой данных, происходит через сокеты. Сделай 100 000 инсертов на ПХП и на перле и ты увидишь разницу...

Это сообщение отредактировал(а) AkimVital - 10.12.2005, 22:59
PM MAIL   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1022 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.