From e31b61bee119dc668ed16c321b79a4674d41eb2d Mon Sep 17 00:00:00 2001 From: David Douard Date: Mon, 14 Jan 2019 12:06:58 +0100 Subject: [PATCH] Do not crash range tasks if celery result backend does not support saving the group's state --- swh/lister/bitbucket/tasks.py | 7 +++++-- swh/lister/github/tasks.py | 5 ++++- swh/lister/gitlab/tasks.py | 5 ++++- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/swh/lister/bitbucket/tasks.py b/swh/lister/bitbucket/tasks.py index 972ff13..5299de1 100644 --- a/swh/lister/bitbucket/tasks.py +++ b/swh/lister/bitbucket/tasks.py @@ -29,7 +29,7 @@ def incremental_bitbucket_lister(self, **lister_args): @app.task(name='swh.lister.bitbucket.tasks.RangeBitBucketLister', bind=True) def range_bitbucket_lister(self, start, end, **lister_args): - self.log.debug('%s(start=%s, end=%d), lister_args=%s' % ( + self.log.debug('%s(start=%s, end=%s), lister_args=%s' % ( self.name, start, end, lister_args)) lister = new_lister(**lister_args) lister.run(min_bound=start, max_bound=end) @@ -47,7 +47,10 @@ def full_bitbucket_relister(self, split=None, **lister_args): promise = group(range_bitbucket_lister.s(minv, maxv, **lister_args) for minv, maxv in ranges)() self.log.debug('%s OK (spawned %s subtasks)' % (self.name, len(ranges))) - promise.save() # so that we can restore the GroupResult in tests + try: + promise.save() # so that we can restore the GroupResult in tests + except NotImplementedError: + self.log.info('Unable to call save_group with current result backend.') return promise.id diff --git a/swh/lister/github/tasks.py b/swh/lister/github/tasks.py index 372299f..625f5f5 100644 --- a/swh/lister/github/tasks.py +++ b/swh/lister/github/tasks.py @@ -48,7 +48,10 @@ def full_github_relister(self, split=None, **lister_args): promise = group(range_github_lister.s(minv, maxv, **lister_args) for minv, maxv in ranges)() self.log.debug('%s OK (spawned %s subtasks)' % (self.name, len(ranges))) - promise.save() # so that we can restore the GroupResult in tests + try: + promise.save() # so that we can restore the GroupResult in tests + except NotImplementedError: + self.log.info('Unable to call save_group with current result backend.') return promise.id diff --git a/swh/lister/gitlab/tasks.py b/swh/lister/gitlab/tasks.py index 65b8b4a..739d95a 100644 --- a/swh/lister/gitlab/tasks.py +++ b/swh/lister/gitlab/tasks.py @@ -57,7 +57,10 @@ def full_gitlab_relister(self, **lister_args): promise = group(range_gitlab_lister.s(minv, maxv, **lister_args) for minv, maxv in ranges)() self.log.debug('%s OK (spawned %s subtasks)' % (self.name, len(ranges))) - promise.save() + try: + promise.save() + except NotImplementedError: + self.log.info('Unable to call save_group with current result backend.') return promise.id