core/lister: Make the listers' scheduler configuration adaptable

Related T1138
This commit is contained in:
Antoine R. Dumont (@ardumont) 2018-07-18 11:52:50 +02:00
parent 7fadb1f609
commit 91f05745ac
No known key found for this signature in database
GPG key ID: 52E2E9840D10C3B8
4 changed files with 14 additions and 13 deletions

4
debian/control vendored
View file

@ -12,7 +12,7 @@ Build-Depends: debhelper (>= 9),
python3-setuptools,
python3-sqlalchemy (>= 1.0),
python3-swh.core,
python3-swh.scheduler (>= 0.0.14~),
python3-swh.scheduler (>= 0.0.30~),
python3-swh.storage,
python3-swh.storage.schemata,
python3-testing.postgresql,
@ -23,7 +23,7 @@ Homepage: https://forge.softwareheritage.org/source/swh-lister/
Package: python3-swh.lister
Architecture: all
Depends: python3-swh.scheduler (>= 0.0.14~),
Depends: python3-swh.scheduler (>= 0.0.30~),
${misc:Depends},
${python3:Depends}
Breaks: python3-swh.lister.github

View file

@ -1,3 +1,3 @@
swh.core
swh.storage[schemata] >= 0.0.76
swh.scheduler >= 0.0.14
swh.scheduler >= 0.0.30

View file

@ -15,6 +15,7 @@ from sqlalchemy.orm import sessionmaker
from swh.core import config
from swh.scheduler.backend import SchedulerBackend
from swh.scheduler import get_scheduler
from swh.storage import get_storage
from .abstractattribute import AbstractAttribute
@ -214,7 +215,12 @@ class SWHListerBase(abc.ABC, config.SWHConfig):
'url': 'http://localhost:5002/'
},
}),
'scheduling_db': ('str', 'dbname=softwareheritage-scheduler-dev'),
'scheduler': ('dict', {
'cls': 'remote',
'args': {
'url': 'http://localhost:5008/'
},
})
}
@property
@ -252,9 +258,7 @@ class SWHListerBase(abc.ABC, config.SWHConfig):
self.config.update(override_config)
self.storage = get_storage(**self.config['storage'])
self.scheduler = SchedulerBackend(
scheduling_db=self.config['scheduling_db'],
)
self.scheduler = get_scheduler(**self.config['scheduler'])
self.db_engine = create_engine(self.config['lister_db_url'])
self.mk_session = sessionmaker(bind=self.db_engine)
self.db_session = self.mk_session()

View file

@ -106,12 +106,9 @@ class HttpListerTesterBase(abc.ABC):
"""
if override_config or self.fl is None:
with patch(
'swh.scheduler.backend.SchedulerBackend.reconnect', noop
):
self.fl = self.Lister(api_baseurl='https://fakeurl',
override_config=override_config)
self.fl.INITIAL_BACKOFF = 1
self.fl = self.Lister(api_baseurl='https://fakeurl',
override_config=override_config)
self.fl.INITIAL_BACKOFF = 1
self.fl.reset_backoff()
return self.fl