Gentoo Archives: gentoo-commits

From: Magnus Granberg <zorry@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/tinderbox-cluster:master commit in: pym/tbc/
Date: Mon, 22 Feb 2016 18:33:51
Message-Id: 1456166064.c5bc414fb226ee5ab38c4d0062e2a534d9b92a8a.zorry@gentoo
1 commit: c5bc414fb226ee5ab38c4d0062e2a534d9b92a8a
2 Author: Magnus Granberg <zorry <AT> gentoo <DOT> org>
3 AuthorDate: Mon Feb 22 18:34:24 2016 +0000
4 Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org>
5 CommitDate: Mon Feb 22 18:34:24 2016 +0000
6 URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=c5bc414f
7
8 remove multi cpu support in remove_old_cpv job
9
10 pym/tbc/old_cpv.py | 47 ++++++++++++++---------------------------------
11 pym/tbc/sqlquerys.py | 18 +++---------------
12 2 files changed, 17 insertions(+), 48 deletions(-)
13
14 diff --git a/pym/tbc/old_cpv.py b/pym/tbc/old_cpv.py
15 index 3c9ffd4..e97b121 100644
16 --- a/pym/tbc/old_cpv.py
17 +++ b/pym/tbc/old_cpv.py
18 @@ -2,61 +2,42 @@
19 # Distributed under the terms of the GNU General Public License v2
20
21 from __future__ import print_function
22 -import multiprocessing
23 from datetime import datetime
24 from tbc.log import write_log
25 -from sqlalchemy.orm import scoped_session, sessionmaker
26 -from tbc.ConnectionManager import NewConnection
27 -from tbc.readconf import read_config_settings
28 from tbc.sqlquerys import get_category_list_info, get_package_list_info, get_ebuild_list_info, \
29 get_build_job_all, del_old_build_jobs, del_old_ebuild, del_old_package, add_old_category
30
31 -def remove_old_ebuilds(package_id, config_id, tbc_settings, cp):
32 - today = datetime.utcnow()
33 - session_factory = sessionmaker(bind=NewConnection(tbc_settings))
34 - Session = scoped_session(session_factory)
35 - session2 = Session()
36 - EbuildsInfo = get_ebuild_list_info(session2, package_id)
37 +def remove_old_ebuilds(session, package_id, config_id, cp, today):
38 + EbuildsInfo = get_ebuild_list_info(session, package_id)
39 for EbuildInfo in EbuildsInfo:
40 cpv = cp + '-' + EbuildInfo.Version
41 log_msg = "Checking: %s" % (cpv,)
42 - write_log(session2, log_msg, "info", config_id, 'old_cpv.remove_old_ebuilds')
43 + write_log(session, log_msg, "info", config_id, 'old_cpv.remove_old_ebuilds')
44 if not EbuildInfo.Active:
45 duration = today - EbuildInfo.TimeStamp
46 if duration.days > 30:
47 log_msg = "Removing: %s" % (cpv,)
48 - write_log(session2, log_msg, "info", config_id, 'old_cpv.remove_old_ebuilds')
49 - build_job_id_list = get_build_job_all(session2, EbuildInfo.EbuildId)
50 + write_log(session, log_msg, "info", config_id, 'old_cpv.remove_old_ebuilds')
51 + build_job_id_list = get_build_job_all(session, EbuildInfo.EbuildId)
52 if build_job_id_list != []:
53 for build_job in build_job_id_list:
54 - del_old_build_jobs(session2, build_job.BuildJobId)
55 - del_old_ebuild(session2, EbuildInfo.EbuildId)
56 - if not get_ebuild_list_info(session2, package_id):
57 + del_old_build_jobs(session, build_job.BuildJobId)
58 + del_old_ebuild(session, EbuildInfo.EbuildId)
59 + if get_ebuild_list_info(session, package_id) == []:
60 log_msg = "Removing: %s" % (cp,)
61 - write_log(session2, log_msg, "info", config_id, 'old_cpv.remove_old_cpv_ebuilds')
62 - del_old_package(session2, package_id)
63 - session2.close
64 - Session.remove()
65 + write_log(session, log_msg, "info", config_id, 'old_cpv.remove_old_cpv_ebuilds')
66 + del_old_package(session, package_id)
67
68 def remove_old_cpv_main(session, config_id):
69 - tbc_settings = read_config_settings()
70 - # Use all cores when multiprocessing
71 - #pool_cores = multiprocessing.cpu_count()
72 - #pool = multiprocessing.Pool(processes = pool_cores)
73 -
74 + today = datetime.utcnow()
75 CategorysInfo = get_category_list_info(session)
76 for CategoryInfo in CategorysInfo:
77 log_msg = "Checking: %s" % (CategoryInfo.Category,)
78 - write_log(session2, log_msg, "info", config_id, 'old_cpv.remove_old_cpv_main')
79 + write_log(session, log_msg, "info", config_id, 'old_cpv.remove_old_cpv_main')
80 PackagesInfo = get_package_list_info(session, CategoryInfo.CategoryId)
81 for PackageInfo in PackagesInfo:
82 cp = CategoryInfo.Category + '/' + PackageInfo.Package
83 - # pool.apply_async( remove_old_ebuilds, (Package.PackageId, config_id, tbc_settings, cp,))
84 - # use this when debuging
85 - remove_old_ebuilds(PackageInfo.PackageId, config_id, tbc_settings, cp,)
86 + remove_old_ebuilds(session, PackageInfo.PackageId, config_id, cp, today)
87
88 - #close and join the multiprocessing pools
89 - # pool.close()
90 - # pool.join()
91 - if not get_package_list_info(session, CategoryInfo.CategoryId):
92 + if get_package_list_info(session, CategoryInfo.CategoryId) == []:
93 add_old_category(session, CategoryInfo.CategoryId)
94
95 diff --git a/pym/tbc/sqlquerys.py b/pym/tbc/sqlquerys.py
96 index 75e3d30..85621fe 100644
97 --- a/pym/tbc/sqlquerys.py
98 +++ b/pym/tbc/sqlquerys.py
99 @@ -585,25 +585,13 @@ def add_repoman_log(session, package_id, repoman_log, repoman_hash):
100 session.commit()
101
102 def get_category_list_info(session):
103 - try:
104 - CategorysInfo = session.query(Categories).all()
105 - except NoResultFound as e:
106 - return False
107 - return CategorysInfo
108 + return session.query(Categories).all()
109
110 def get_package_list_info(session, category_id):
111 - try:
112 - PackagesInfo = session.query(Packages).filter_by(CategoryId = category_id).all()
113 - except NoResultFound as e:
114 - return False
115 - return PackagesInfo
116 + return session.query(Packages).filter_by(CategoryId = category_id).all()
117
118 def get_ebuild_list_info(session, package_id):
119 - try:
120 - EbuildsInfo = session.query(Ebuilds).filter_by(PackageId = package_id).all()
121 - except NoResultFound as e:
122 - return False
123 - return EbuildsInfo
124 + return session.query(Ebuilds).filter_by(PackageId = package_id).all()
125
126 def del_old_ebuild(session, ebuild_id):
127 session.query(EbuildsRestrictions).filter(EbuildsRestrictions.EbuildId == ebuild_id).delete()