The task will now be retried if an IntegrityError is encountered, up to the default of 3 times. Test included. TNL-5739
For better user-facing performance, the SCORE_CHANGED signal is now handled by enqueueing an async task to update the relevant stored grade, rather than making the request wait until that operation finishes. TNL-5738