41 lines
1.2 KiB
Python
41 lines
1.2 KiB
Python
"""
|
||
阿龙电竞 - Celery 配置(仅新订单服务号广播)
|
||
|
||
严禁 autodiscover / beat 加载结算、清零、排行榜等任务。
|
||
生产只启动 broadcast 队列 worker,不要启动 celery beat。
|
||
"""
|
||
|
||
import os
|
||
from celery import Celery
|
||
|
||
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'a_long_dianjing.settings')
|
||
|
||
app = Celery('a_long_dianjing')
|
||
app.config_from_object('django.conf:settings', namespace='CELERY')
|
||
|
||
# 只注册新订单服务号广播任务(dingdan.tongzhi_tasks.dingdan_guangbo)
|
||
app.autodiscover_tasks(['dingdan.tongzhi_tasks'])
|
||
|
||
# 禁止 Beat 周期性任务(清零、排行榜、自动结算补偿等一律不调度)
|
||
app.conf.beat_schedule = {}
|
||
|
||
app.conf.timezone = 'Asia/Shanghai'
|
||
app.conf.enable_utc = True
|
||
|
||
# 仅广播任务路由到 broadcast 队列
|
||
app.conf.task_routes = {
|
||
'dingdan.tongzhi_tasks.dingdan_guangbo': {'queue': 'broadcast'},
|
||
}
|
||
|
||
app.conf.accept_content = ['json']
|
||
app.conf.task_serializer = 'json'
|
||
app.conf.result_serializer = 'json'
|
||
|
||
app.conf.task_time_limit = 300
|
||
app.conf.task_soft_time_limit = 240
|
||
app.conf.worker_concurrency = 2
|
||
app.conf.worker_prefetch_multiplier = 1
|
||
app.conf.task_acks_late = True
|
||
app.conf.worker_disable_rate_limits = True
|
||
app.conf.result_expires = 3600
|