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.