Files
dealerhub/backend/apps/notify/tasks.py
T

25 lines
868 B
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""预警调度任务 actors(Dramatiq)。"""
import dramatiq
from apps.core.models import Tenant
from . import services as notify_services
@dramatiq.actor(max_retries=3, time_limit=300_000)
def run_alert_checks_for_tenant(tenant_id: int):
"""单租户业务预警扫描(库存低限 + 应收逾期)。"""
tenant = Tenant.objects.get(pk=tenant_id, is_active=True)
result = notify_services.run_all_alert_checks(tenant)
return result
@dramatiq.actor(max_retries=3, time_limit=600_000)
def run_all_alert_checks_for_all_tenants():
"""遍历全部活跃租户执行业务预警扫描(由 crontab 每日 08:00 触发)。"""
summary = []
for tenant in Tenant.objects.filter(is_active=True):
result = notify_services.run_all_alert_checks(tenant)
summary.append({"tenant": tenant.code, **result})
return summary