citusdata / django-multitenant

Python/Django support for distributed multi-tenant databases like Postgres+Citus
MIT License
707 stars 116 forks source link

Celery compatibility issue #213

Open christokritz opened 3 months ago

christokritz commented 3 months ago

I'm using django-multitenant together with Celery and a Redis broker.

I've added a tenant_id parameter to all my celery functions. When the tasks start it calls 'set_current_tenant' with this tenant ID.

In one case I forgot to call 'set_current_tenant', however, it used the tenant_id of the task that was last ran. It is as if it remembered the tenant_id of another task that another user (of another tenant) ran.

I thought that this shouldn't be possible, so I'm worried about potential unintended consequences this may have, such as race conditions.

Is this project compatible with Celery and if so, is there any particular configuration I should do?