The project I am working on is using Communities and at a specific point in a business process we need to (in sequential order) enable a contact as a partner user, update the user record, update the contact record, add the user to a public group, add a record in the AccountShare object, and once all of this is done - send an email to the new user. The requirements / design that got us to this point not withstanding (since I suspect at least one person will ask why we're doing all of this :-), our problem is that the above activities trigger the "Mixed DML" error, so we have moved to an @future and batch approach. While we have beaten the Mixed DML issue, now the problem is that it takes minutes+ for the email to go out, and the users are not happy. I was skimming the Winter '15 release notes and read about Queueable Chaining.
My question, then, is: Can Queueable Chaining be used to address a Mixed DML error?