diff options
author | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2012-08-01 14:41:12 -0400 |
---|---|---|
committer | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2012-08-01 14:41:12 -0400 |
commit | 4b5ce3bd4a71dfcc26983dfdbd00923f1d5d0d6c (patch) | |
tree | 8fb0d4637e06efcb02d432ee6467778c3da3d0da /src/lib/Bcfg2/Server/Plugins/Packages/Collection.py | |
parent | a1510cf749295fe10760dabd0a5ecc4e2fc8a725 (diff) | |
download | bcfg2-4b5ce3bd4a71dfcc26983dfdbd00923f1d5d0d6c.tar.gz bcfg2-4b5ce3bd4a71dfcc26983dfdbd00923f1d5d0d6c.tar.bz2 bcfg2-4b5ce3bd4a71dfcc26983dfdbd00923f1d5d0d6c.zip |
batch up get_group calls in Packages to improve performance (#1101)
Diffstat (limited to 'src/lib/Bcfg2/Server/Plugins/Packages/Collection.py')
-rw-r--r-- | src/lib/Bcfg2/Server/Plugins/Packages/Collection.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/lib/Bcfg2/Server/Plugins/Packages/Collection.py b/src/lib/Bcfg2/Server/Plugins/Packages/Collection.py index 9cea9da48..1e269167b 100644 --- a/src/lib/Bcfg2/Server/Plugins/Packages/Collection.py +++ b/src/lib/Bcfg2/Server/Plugins/Packages/Collection.py @@ -104,6 +104,14 @@ class Collection(Bcfg2.Server.Plugin.Debuggable): cachefiles.add(source.cachefile) return list(cachefiles) + def get_groups(self, grouplist): + """ provided since some backends may be able to query multiple + groups at once faster than serially """ + rv = dict() + for group, ptype in grouplist: + rv[group] = self.get_group(group, ptype) + return rv + def get_group(self, group, ptype=None): for source in self.sources: pkgs = source.get_group(self.metadata, group, ptype=ptype) |