To your concern, @cpennington, all the more reason why this should be queued for fanout later.  That way the delegation job is queued, and then the request is done and the transaction commits.  Writing the message should happen then.  The message isn't read until worker tasks are starting to be spun up by the remote machine.

So there is a race potential here but feels unlikely.

Safeguard for this would be to test for the content (query on hash) before doing the delegation.  If it's not there, requeue so it can be retried.  Celery supports retries like this.