make batch size configurable (#17932)
This commit is contained in:
parent
d5debf5200
commit
212bdeddf7
|
@ -79,7 +79,7 @@ def main2():
|
|||
parser.add_argument('--pg-dsn', help='Psycopg2 DB DSN')
|
||||
parser.add_argument('--schema', help='schema name')
|
||||
args = parser.parse_args()
|
||||
for key in ('orig', 'key', 'pg_dsn', 'schema'):
|
||||
for key in ('orig', 'key', 'pg_dsn', 'schema', 'batch_size'):
|
||||
if getattr(args, key, None):
|
||||
defaults[key] = getattr(args, key)
|
||||
|
||||
|
@ -96,6 +96,7 @@ def main2():
|
|||
schema = defaults['schema']
|
||||
pg_dsn = defaults['pg_dsn']
|
||||
slugs = defaults.get('slugs', '').strip().split() or getattr(args, 'slug', [])
|
||||
batch_size = int(defaults.get('batch_size', 1000))
|
||||
except KeyError, e:
|
||||
failure = True
|
||||
logger.error('configuration incomplete for %s: %s', url, e)
|
||||
|
@ -103,7 +104,8 @@ def main2():
|
|||
def job(queue):
|
||||
try:
|
||||
api = wcs_api.WcsApi(url=url, orig=orig, key=key, slugs=slugs,
|
||||
verify=defaults.get('verify', 'True') == 'True')
|
||||
verify=defaults.get('verify', 'True') == 'True',
|
||||
batch_size=batch_size)
|
||||
logger.info('starting synchronizing w.c.s. at %r with PostgreSQL at %s', url,
|
||||
pg_dsn)
|
||||
feeder = WcsOlapFeeder(api=api, schema=schema, pg_dsn=pg_dsn, logger=logger,
|
||||
|
|
|
@ -169,13 +169,14 @@ class Category(BaseObject):
|
|||
|
||||
|
||||
class WcsApi(object):
|
||||
def __init__(self, url, orig, key, verify=True, slugs=None):
|
||||
def __init__(self, url, orig, key, verify=True, slugs=None, batch_size=1000):
|
||||
self.url = url
|
||||
self.orig = orig
|
||||
self.key = key
|
||||
self.verify = verify
|
||||
self.cache = {}
|
||||
self.slugs = slugs or []
|
||||
self.batch_size = batch_size
|
||||
|
||||
@property
|
||||
def formdefs_url(self):
|
||||
|
@ -229,7 +230,7 @@ class WcsApi(object):
|
|||
|
||||
def get_formdata(self, slug):
|
||||
offset = 0
|
||||
limit = 1000
|
||||
limit = self.batch_size
|
||||
while True:
|
||||
data = self.get_json(self.forms_url,
|
||||
slug + '/list?anonymise&full=on&offset=%d&limit=%d' % (offset, limit))
|
||||
|
|
Loading…
Reference in New Issue