I do understand the "invisible side effects" side. I do try to be conservative in what I do in signal listeners.

I do what I must in the atomic context, and trigger celery tasks for everything else.