Ensure account creation succeeds before creating comments service user
Also improves handling in cases where account creation did succeed, but comments service user creation did not. Depends on commit 88abdd8a0b20bc9816f487b25abdea1953f5661d in https://github.com/edx/cs_comments_service JIRA: FOR-522
This commit is contained in:
@@ -80,7 +80,16 @@ class User(models.Model):
|
||||
retrieve_params = self.default_retrieve_params
|
||||
if self.attributes.get('course_id'):
|
||||
retrieve_params['course_id'] = self.course_id
|
||||
response = perform_request('get', url, retrieve_params)
|
||||
try:
|
||||
response = perform_request('get', url, retrieve_params)
|
||||
except CommentClientRequestError as e:
|
||||
if e.status_code == 404:
|
||||
# attempt to gracefully recover from a previous failure
|
||||
# to sync this user to the comments service.
|
||||
self.save()
|
||||
response = perform_request('get', url, retrieve_params)
|
||||
else:
|
||||
raise
|
||||
self.update_attributes(**response)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user