![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| fedottt |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 7.10.2007 Репутация: нет Всего: нет |
наваял вот такое...
сделано для пингования вагона ip (порядка 6к) скрипт должен брать из базы и туда же скидывать результат пинга. необходимо для мониторинга. на данный момент лучшего решения с использованием БД Mysql не придумал (( короче говоря, у меня этот костыль отрабатывает первые 400 хостов как положено, а потом где-то зацикливается и поедает всю память на сервере. сьел 10 гиг и уложил систему. можете глянуть, где я допустил ошибку? чуствую что метод написания скриптов а-ля php в перле не канает.. должен был делать такое: взял в базе 400 ip, на них склепал 400 нитей, выполнил, взял следующие 400, нити и так далее.. но где-то затык(
|
|||
|
||||
| mvsgt |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 209 Регистрация: 27.3.2009 Репутация: 1 Всего: 1 |
Ошибка в подходе. Пинговать надо с помощью nmap, а для мониторинга использовать специальные программы.
Скрипт сначала следовало бы сократить раза в 2 за счёт использования File::Slurp для записи в файлы, потом use strict; добавить, а без него искать ошибки - себя не уважать, уж извините. PS C потоками Вы как-то вольно работаете, с переменными как будто они общие. Замыкания чуть-чуть исправляют ситуацию, но глюков это только прибавляет. И вообще такое ощущение, что программа не на перле написана. use strict обязательно добавляйте, сразу поёмёте что написали какую-то жуть. Это сообщение отредактировал(а) mvsgt - 18.1.2010, 02:31 |
|||
|
||||
| DurRandir |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 335 Регистрация: 27.9.2009 Репутация: 14 Всего: 17 |
Не используйте потоки. Потоки в перл - зло. Посмотрите на AnyEvent::FastPing, и вообще event-driven подход как полную замену потокам при работе с сетью.
PS: у вас, конечно, странный код, но это пройдёт |
|||
|
||||
| krypt3r |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 359 Регистрация: 9.6.2009 Репутация: 2 Всего: 16 |
+1, зачем вЕлики клепать
Про use strict из перл-кодеров вообще единицы знают |
||||
|
|||||
| amg |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1145 Регистрация: 3.8.2006 Где: Новосибирск Репутация: 38 Всего: 50 |
К старым версиям Net::Ping прилагалась программа
fping - pings multiple hosts at once Ее можно найти на CPAN и пользоваться (или взять из нее распаралеливающий код). |
|||
|
||||
| fedottt |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 7.10.2007 Репутация: нет Всего: нет |
nmap решил вопрос)))
спасибо вам) код у меня такой кривой, бо привык в php. perl пока не дается. |
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |