🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.perl
Article #52568

non-blocking snmp

#52568
From: Paweł
Date: Mon, 20 Jan 2014 19:56
46 lines
2056 bytes
piszę skrypt odpytujący po SNMP kilka tysięcy hostów. używam biblioteki
net-snmp-perl, sesje snmp puszczam w trybie non-blocking. wszystko
działa pięknie ale chciałbym ograniczyć liczbę równolegle uruchomionych
sesji snmp. osiągam limit na ilość otworzonych plików i 1019 sesja już
się nie tworzy.

w tej chwili mam coś mniej więcej

while(są jeszcze hosty do zbadania) {
 pobierz z bazy dane następnego hosta
 stwórz dla niego obiekt SNMP::Session
 odpal session->get
}

chciałbym raczej

while (są jeszcze hosty do zbadania) {
  jak jest już uruchomionych LIMIT sesji poczekaj
  pobierz z bazy dane następnego hosta
  stwórz dla niego obiekt SNMP::Session
  odpal session->get
}

jakiś pomysł jak to osiągnąć?

skłaniam się do
a) pobrać z bazy wszystkie hosty, wrzucić je w jakiegoś hasza i w pętli
while(są w haszu jeszcze hosty do zbadania) {
 if jestem poniżej limitu {
	monitoruj host
	wyjmij hosta z hasza
 }
 else continue
}

ta pętla powinna mi w końcu zbadać wszystkie hosty

ewentualne pomysł b)

pobrać z bazy hosty paczkami, najpierw pierwsze 400, potem drugie 400,
itd. uruchomić pomiary snmp dla pierwszej paczki, jak cała się skończy
dla drugiej, itd,


-- 
Paweł
Technical Details
Message-ID: <lbjv1s$hl6$1@node2.news.atman.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail
From: Paweł <jas@nie.doczekal>
Newsgroups: pl.comp.lang.perl
Subject: non-blocking snmp
Date: Mon, 20 Jan 2014 20:56:42 +0100
Organization: ATMAN - ATM S.A.
Lines: 46
Message-ID: <lbjv1s$hl6$1@node2.news.atman.pl>
NNTP-Posting-Host: 89-77-204-11.dynamic.chello.pl
Mime-Version: 1.0
X-Trace: node2.news.atman.pl 1390247804 18086 89.77.204.11 (20 Jan 2014 19:56:44 GMT)
X-Complaints-To: usenet@atman.pl
NNTP-Posting-Date: Mon, 20 Jan 2014 19:56:44 +0000 (UTC)
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.2.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit