Just thinking out loud here but how about a daemonized process
(facterd?) that allows for fine grained retrieval of facts and solves
your concurrency issues with an internal mechanism?
Should facterd be unavailable, each process should be able to fall
back to a) gathering all facts or b) reading the cache file and
updating those items that have elapsed.
This way you end up with something like (for example):
os_version => '4 months'
uptime => 'no cache'
ps => 'persist'
etc...
The issue with some of these is that, while they won't change often,
when they change you *really* want to know. Like puppet_version and
ruby_version and possibly ipaddress.
A prod to the daemon with a USR1 (or whatever) should force a re-cache
of items selected as such.
Having a daemon process could also allow for asynchronous fact
collection via SNMP/REST/Whatever....
Those are my initial thoughts anyway.
Trevor
> --
> You received this message because you are subscribed to the Google Groups
> "Puppet Developers" group.
> To post to this group, send email to
puppe...@googlegroups.com.
> To unsubscribe from this group, send email to
>
puppet-dev+...@googlegroups.com.
> For more options, visit this group at
>
http://groups.google.com/group/puppet-dev?hl=en.
--
Trevor Vaughan
Vice President, Onyx Point, Inc
(410) 541-6699
tvau...@onyxpoint.com
-- This account not approved for unencrypted proprietary information --