I created a CourseEmail.create() method that takes care of committing the transaction.  Originally, this had a retry for the entire task, waiting for the CourseEmail object to be committed by the original "send-bulk-email" request on the instructor dash. The instructor has the same experience either way, but adding the transaction commit is way better than having the retry on this end.  Especially since the delegate_email_batches task is moved to instructor_task.