This is half patch half feature request.
It is still in a "proof of concept" phase, but I have had this running for a number of months now. The main issues it has are in dealing with failures and getting suck...
What this new process_all function does is continuously polls the network, ensuring that no devices are out of date, and that only one process is touching the database at a time. This is sort of the opposite of the threading support I saw. The main goal was to be self tuning and keep the load on the database low, even though polling multiple devices would be fater.
With about 900 devices and 30,000 ports this loop keeps every device macsucked at least once an hour, with currently about 400 of them polled in the last 30 minutes. It also ensures that an arpwalk is run every 25 minutes.
I did notice the memory usage was going up a bit, so that is why I have it only run through the loop 1000 times before being restarted.
It definitely needs some work, but I think the idea is solid... feedback would be nice :)
patch that adds process_all
Logged In: YES
user_id=547833
Originator: YES
File Added: fping.pm
simple module that uses fping to get the status of an IP
Ticket moved from /p/netdisco/patches/14/
Can't be converted: