feature/alembic-daf
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
from typing import Any
|
||||
import logging
|
||||
|
||||
from celery import Task
|
||||
from sqlalchemy.orm import Session
|
||||
@@ -7,6 +8,8 @@ from core.database import rls_company_var, rls_tenant_var
|
||||
|
||||
from .service import TaskTrackerService
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def track_and_dispatch(
|
||||
*,
|
||||
@@ -28,12 +31,26 @@ def track_and_dispatch(
|
||||
headers = {"rls_tenant_id": str(int(tenant_id))}
|
||||
if company_id is not None:
|
||||
headers["rls_company_id"] = str(int(company_id))
|
||||
else:
|
||||
logger.warning(
|
||||
"Dispatching task without company_id in RLS headers task=%s tenant_id=%s",
|
||||
getattr(task, "name", "<unknown>"),
|
||||
tenant_id,
|
||||
)
|
||||
|
||||
prev_tenant = rls_tenant_var.get()
|
||||
prev_company = rls_company_var.get()
|
||||
rls_tenant_var.set(int(tenant_id))
|
||||
rls_company_var.set(int(company_id) if company_id is not None else None)
|
||||
try:
|
||||
logger.info(
|
||||
"Dispatching Celery task task=%s task_id=%s tenant_id=%s company_id=%s headers=%s",
|
||||
getattr(task, "name", "<unknown>"),
|
||||
task_id,
|
||||
tenant_id,
|
||||
company_id,
|
||||
headers,
|
||||
)
|
||||
celery_task = task.apply_async(
|
||||
args=args or [],
|
||||
kwargs=kwargs or {},
|
||||
|
||||
Reference in New Issue
Block a user