commit:     c5bc414fb226ee5ab38c4d0062e2a534d9b92a8a
Author:     Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 22 18:34:24 2016 +0000
Commit:     Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Mon Feb 22 18:34:24 2016 +0000
URL:        
https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=c5bc414f

remove multi cpu support in remove_old_cpv job

 pym/tbc/old_cpv.py   | 47 ++++++++++++++---------------------------------
 pym/tbc/sqlquerys.py | 18 +++---------------
 2 files changed, 17 insertions(+), 48 deletions(-)

diff --git a/pym/tbc/old_cpv.py b/pym/tbc/old_cpv.py
index 3c9ffd4..e97b121 100644
--- a/pym/tbc/old_cpv.py
+++ b/pym/tbc/old_cpv.py
@@ -2,61 +2,42 @@
 # Distributed under the terms of the GNU General Public License v2
 
 from __future__ import print_function
-import multiprocessing
 from datetime import datetime
 from tbc.log import write_log
-from sqlalchemy.orm import scoped_session, sessionmaker
-from tbc.ConnectionManager import NewConnection
-from tbc.readconf import  read_config_settings
 from tbc.sqlquerys import get_category_list_info, get_package_list_info, 
get_ebuild_list_info, \
        get_build_job_all, del_old_build_jobs, del_old_ebuild, del_old_package, 
add_old_category
 
-def remove_old_ebuilds(package_id, config_id, tbc_settings, cp):
-       today = datetime.utcnow()
-       session_factory = sessionmaker(bind=NewConnection(tbc_settings))
-       Session = scoped_session(session_factory)
-       session2 = Session()
-       EbuildsInfo = get_ebuild_list_info(session2, package_id)
+def remove_old_ebuilds(session, package_id, config_id, cp, today):
+       EbuildsInfo = get_ebuild_list_info(session, package_id)
        for EbuildInfo in EbuildsInfo:
                cpv = cp + '-' + EbuildInfo.Version
                log_msg = "Checking: %s" % (cpv,)
-               write_log(session2, log_msg, "info", config_id, 
'old_cpv.remove_old_ebuilds')
+               write_log(session, log_msg, "info", config_id, 
'old_cpv.remove_old_ebuilds')
                if not EbuildInfo.Active:
                        duration = today - EbuildInfo.TimeStamp
                        if duration.days > 30:
                                log_msg = "Removing: %s" % (cpv,)
-                               write_log(session2, log_msg, "info", config_id, 
'old_cpv.remove_old_ebuilds')
-                               build_job_id_list = get_build_job_all(session2, 
EbuildInfo.EbuildId)
+                               write_log(session, log_msg, "info", config_id, 
'old_cpv.remove_old_ebuilds')
+                               build_job_id_list = get_build_job_all(session, 
EbuildInfo.EbuildId)
                                if build_job_id_list != []:
                                        for build_job in build_job_id_list:
-                                               del_old_build_jobs(session2, 
build_job.BuildJobId)
-                               del_old_ebuild(session2, EbuildInfo.EbuildId)
-       if not get_ebuild_list_info(session2, package_id):
+                                               del_old_build_jobs(session, 
build_job.BuildJobId)
+                               del_old_ebuild(session, EbuildInfo.EbuildId)
+       if get_ebuild_list_info(session, package_id) == []:
                log_msg = "Removing: %s" % (cp,)
-               write_log(session2, log_msg, "info", config_id, 
'old_cpv.remove_old_cpv_ebuilds')
-               del_old_package(session2, package_id)
-       session2.close
-       Session.remove()
+               write_log(session, log_msg, "info", config_id, 
'old_cpv.remove_old_cpv_ebuilds')
+               del_old_package(session, package_id)
 
 def remove_old_cpv_main(session, config_id):
-       tbc_settings = read_config_settings()
-       # Use all cores when multiprocessing
-       #pool_cores = multiprocessing.cpu_count()
-       #pool = multiprocessing.Pool(processes = pool_cores)
-
+       today = datetime.utcnow()
        CategorysInfo = get_category_list_info(session)
        for CategoryInfo in CategorysInfo:
                log_msg = "Checking: %s" % (CategoryInfo.Category,)
-               write_log(session2, log_msg, "info", config_id, 
'old_cpv.remove_old_cpv_main')
+               write_log(session, log_msg, "info", config_id, 
'old_cpv.remove_old_cpv_main')
                PackagesInfo = get_package_list_info(session, 
CategoryInfo.CategoryId)
                for PackageInfo in PackagesInfo:
                        cp = CategoryInfo.Category + '/' + PackageInfo.Package
-                       # pool.apply_async( remove_old_ebuilds, 
(Package.PackageId, config_id, tbc_settings, cp,))
-                       # use this when debuging
-                       remove_old_ebuilds(PackageInfo.PackageId, config_id, 
tbc_settings, cp,)
+                       remove_old_ebuilds(session, PackageInfo.PackageId, 
config_id, cp, today)
 
-               #close and join the multiprocessing pools
-               # pool.close()
-               # pool.join()
-               if not get_package_list_info(session, CategoryInfo.CategoryId):
+               if get_package_list_info(session, CategoryInfo.CategoryId) == 
[]:
                         add_old_category(session, CategoryInfo.CategoryId)

diff --git a/pym/tbc/sqlquerys.py b/pym/tbc/sqlquerys.py
index 75e3d30..85621fe 100644
--- a/pym/tbc/sqlquerys.py
+++ b/pym/tbc/sqlquerys.py
@@ -585,25 +585,13 @@ def add_repoman_log(session, package_id, repoman_log, 
repoman_hash):
                        session.commit()
 
 def get_category_list_info(session):
-       try:
-               CategorysInfo = session.query(Categories).all()
-       except NoResultFound as e:
-               return False
-       return CategorysInfo
+       return session.query(Categories).all()
 
 def get_package_list_info(session, category_id):
-       try:
-               PackagesInfo = session.query(Packages).filter_by(CategoryId = 
category_id).all()
-       except NoResultFound as e:
-               return False
-       return PackagesInfo
+       return session.query(Packages).filter_by(CategoryId = category_id).all()
 
 def get_ebuild_list_info(session, package_id):
-       try:
-               EbuildsInfo = session.query(Ebuilds).filter_by(PackageId = 
package_id).all()
-       except NoResultFound as e:
-               return False
-       return EbuildsInfo
+       return session.query(Ebuilds).filter_by(PackageId = package_id).all()
 
 def del_old_ebuild(session, ebuild_id):
        session.query(EbuildsRestrictions).filter(EbuildsRestrictions.EbuildId 
== ebuild_id).delete()

Reply via email to