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

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