diff options
author | Johan Lundberg <lundberg@nordu.net> | 2014-04-02 12:31:40 +0200 |
---|---|---|
committer | Johan Lundberg <lundberg@nordu.net> | 2014-04-02 12:31:40 +0200 |
commit | 58eae4e6c78bc69c20795da5a96fe2e251e47bf5 (patch) | |
tree | 72185b6306efdf7e5d4de8d0a8cd066b1d03084e /meetingtools/apps/content | |
parent | 587a94e8c4ddaa245fc61d912a6bf5fb57996911 (diff) |
Split up full import to do it year by year to keep the results batches down.
Diffstat (limited to 'meetingtools/apps/content')
-rw-r--r-- | meetingtools/apps/content/tasks.py | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/meetingtools/apps/content/tasks.py b/meetingtools/apps/content/tasks.py index a5a230c..16feb34 100644 --- a/meetingtools/apps/content/tasks.py +++ b/meetingtools/apps/content/tasks.py @@ -35,5 +35,18 @@ def import_all_content(): #@periodic_task(run_every=crontab(hour="1", minute="0", day_of_week="*")) def timed_full_import(): + years = [2009, 2010, 2011, 2012, 2013, 2014] for acc in ACCluster.objects.all(): - import_acc(acc)
\ No newline at end of file + for year in years: + begin = datetime(year=year, month=1, day=1) + end = datetime(year=year, month=12, day=31) + with ac_api_client(acc) as api: + r = api.request('report-bulk-objects', {'filter-out-type': 'meeting', + 'filter-gte-date-modified': begin.isoformat(), + 'filter-lte-date-modified': end.isoformat()}) + if r: + nr = 0 + for row in r.et.xpath("//row"): + Content.create(acc, api, row) + nr += 1 + logging.info("%s: Imported %d objects." % (acc, nr))
\ No newline at end of file |