Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Скрипт требует много времени

410
02 августа 2005 года
Tavix
70 / / 20.05.2000
Доброе время суток!
Вот такая проблема: есть скриптик на Perl'е, который довольно долго выполняется (анализирует БД и пишет в Excel). Сервер не дожидается, пока скрипт отработает, а на ~10ой минуте просто убивает процесс.
Как можно сделать так, чтобы скрипт нормально отработал?
Может быть, можно как-нибудь запускать скрипт от имени другого пользователя?
Либо как изменить лимит времени на выполнение скрипта?
Заранее спасибо!
8
02 августа 2005 года
mfender
3.5K / / 15.06.2005
Цитата:
Originally posted by Tavix
Доброе время суток!
Вот такая проблема: есть скриптик на Perl'е, который довольно долго выполняется (анализирует БД и пишет в Excel). Сервер не дожидается, пока скрипт отработает, а на ~10ой минуте просто убивает процесс.
Как можно сделать так, чтобы скрипт нормально отработал?
Может быть, можно как-нибудь запускать скрипт от имени другого пользователя?
Либо как изменить лимит времени на выполнение скрипта?
Заранее спасибо!


А что можно делать так долго, чтобы на 10й минуте timeout был?

410
02 августа 2005 года
Tavix
70 / / 20.05.2000
Цитата:
Originally posted by mfender
А что можно делать так долго, чтобы на 10й минуте timeout был?


Читать из MySQL и писать в Excel довольно много значений + кое-куда формулы дописывать...
Spreadsheet-WriteExcel довольно медленно работает, да и база не маленькая...

8
02 августа 2005 года
mfender
3.5K / / 15.06.2005
Цитата:
Originally posted by Tavix
Читать из MySQL и писать в Excel довольно много значений + кое-куда формулы дописывать...
Spreadsheet-WriteExcel довольно медленно работает, да и база не маленькая...


А можно привести количество таблиц и полей, по которым делается выбор свыше десяти минут?

299
02 августа 2005 года
3D Bob
885 / / 18.04.2005
Какой сервер?
Хотя если бы все это дело было на PHP я бф сказал как установить лимит. а в перл не знаю:(

Но в свойсвах сервера это довольно таки не сложно поменять... Скажи главное какой..
15
02 августа 2005 года
shaelf
2.7K / / 04.05.2005
Цитата:
Originally posted by 3D Bob
Какой сервер?
Хотя если бы все это дело было на PHP я бф сказал как установить лимит. а в перл не знаю:(

Но в свойсвах сервера это довольно таки не сложно поменять... Скажи главное какой..


А в два прихода если? Например если это из базы и скидываешь построчно или из массива, то прервать наполовину, записать номер и через несколько секунд начать с той позиции? Это всего лишь предположение.

300
03 августа 2005 года
ReDrum
689 / / 20.04.2000
Можно, вызвать fork, и в дочке обрабатывать все хозяйство, а в родителе сказать, что обработка пошла, заходите через столько то мин за результатом.

Или второй вариант, сделать кеш (ну например хранить серизованый объект в нем), и дергать данные из этого кеша.
410
03 августа 2005 года
Tavix
70 / / 20.05.2000
Цитата:
Originally posted by mfender
А можно привести количество таблиц и полей, по которым делается выбор свыше десяти минут?


Можно: 57 таблиц. Из каждой выбирается по 209 строк (каждый день увеличивается на одно в каждой талице). Строка содержит 4 поля. Они анализируются и, в зависимости от результата, еще 4 значения пересчитываются. Все это дело записывается в Excel...

Цитата:
Originally posted by 3D Bob
Какой сервер?
Хотя если бы все это дело было на PHP я бф сказал как установить лимит. а в перл не знаю

Но в свойсвах сервера это довольно таки не сложно поменять... Скажи главное какой..


Celeron 2.6, 256DDR, 80 Гб винт 7200 об 8 мб буфер.
ОС: Linux Mandrake 10.1
Сервер предназначен лишь для обработки такой базы....

Цитата:
Originally posted by shaelf
А в два прихода если? Например если это из базы и скидываешь построчно или из массива, то прервать наполовину, записать номер и через несколько секунд начать с той позиции? Это всего лишь предположение.


Основное время тратиться на анализ выбранных данных и запись в Excel. Прервать запись не могу, поскольку дописывать в файл проблематично...

8
03 августа 2005 года
mfender
3.5K / / 15.06.2005
Цитата:
Originally posted by Tavix
57 таблиц. Из каждой выбирается по 209 строк (каждый день увеличивается на одно в каждой талице). Строка содержит 4 поля. Они анализируются и, в зависимости от результата, еще 4 значения пересчитываются. Все это дело записывается в Excel...


Что-то здесь не так. Уж больно долго всё происходит...

299
03 августа 2005 года
3D Bob
885 / / 18.04.2005
+ Ко всем алгаритм не очень хороший на мой взялд... Лучше результаты каждого дня хранить отдельно. ЧТобы каждый раз все по новому не пересчитывать....
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог