From your own link in the question, Django's documentation itself states
Callbacks are called after the open transaction is successfully committed
So the failure of the callback won't have an effect on the original transaction, since it's already been committed.