diff options
author | Michał Górny <mgorny@gentoo.org> | 2018-06-26 18:45:24 +0200 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2018-06-26 18:45:24 +0200 |
commit | 6205e27c288a68020c869df88ce09bf2da7fdaf3 (patch) | |
tree | 5619ff5054c3fd1a997c80d5a565363beb8578c1 /utils/gen_fast_metamanifest.py | |
parent | 6768afd9cac59d1810d69c85cdabf5695d442e22 (diff) | |
download | gemato-6205e27c288a68020c869df88ce09bf2da7fdaf3.tar.gz |
gen_fast_metamanifest: Fix parallel processing of md5-cache
Diffstat (limited to 'utils/gen_fast_metamanifest.py')
-rwxr-xr-x | utils/gen_fast_metamanifest.py | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/utils/gen_fast_metamanifest.py b/utils/gen_fast_metamanifest.py index 1ba60a3..6ae9c07 100755 --- a/utils/gen_fast_metamanifest.py +++ b/utils/gen_fast_metamanifest.py @@ -40,7 +40,6 @@ def manifest_dir_generator(iter_n): # few special metadata subdirectories yield 'metadata/dtd' yield 'metadata/glsa' - yield 'metadata/md5-cache' yield 'metadata/news' yield 'metadata/xml-schema' @@ -49,8 +48,14 @@ def manifest_dir_generator(iter_n): yield 'licenses' yield 'profiles' elif iter_n == 2: - # top-level dirs + # md5-cache depends on cache dirs from iter 1 + yield 'metadata/md5-cache' + elif iter_n == 3: + # remaining top-level dir yield 'metadata' + elif iter_n == 4: + # finally, the top-level Manifest + yield '.' def make_toplevel(d, ts, pgp_key): @@ -118,13 +123,12 @@ IGNORE packages make_toplevel('metadata/glsa', ts, pgp_key) make_toplevel('metadata/news', ts, pgp_key) - # 2nd batch (files depending on results of 1st batch) - # this one is fast to generate, so let's pass a list and let map() - # choose optimal chunksize + # remaining batches + # the lists are short, so let's pass them and let map() choose optimal + # chunksize p.map(gen_fast_manifest.gen_manifest, list(manifest_dir_generator(2))) - - # finally, generate the top-level Manifest - gen_fast_manifest.gen_manifest('.') + p.map(gen_fast_manifest.gen_manifest, list(manifest_dir_generator(3))) + p.map(gen_fast_manifest.gen_manifest, list(manifest_dir_generator(4))) # final split ts = datetime.datetime.utcnow().strftime( |