增加停止服务开关
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Celery任务定义
|
||||
"""
|
||||
from celery import current_task
|
||||
|
||||
from sqlalchemy import create_engine
|
||||
import json
|
||||
from app.celery_app import celery_app
|
||||
@@ -26,7 +26,7 @@ engine = create_engine(
|
||||
)
|
||||
|
||||
@celery_app.task(bind=True, name='push_data_to_dtc')
|
||||
def push_data_to_dtc_task():
|
||||
def push_data_to_dtc_task(self):
|
||||
"""
|
||||
推送数据给DTC的Celery任务
|
||||
自动获取一条未完成的回调请求进行处理
|
||||
@@ -48,7 +48,7 @@ def push_data_to_dtc_task():
|
||||
try:
|
||||
with engine.connect() as conn:
|
||||
# 更新任务状态
|
||||
current_task.update_state(
|
||||
self.update_state(
|
||||
state='PROGRESS',
|
||||
meta={'current': 0, 'total': 100, 'status': f'正在获取下一条回调请求日志...'}
|
||||
)
|
||||
@@ -70,7 +70,7 @@ def push_data_to_dtc_task():
|
||||
logger.info(f"📋 获取到未完成的回调请求: ID={callback_log_id}, site_id={site_id}")
|
||||
|
||||
# 更新任务状态
|
||||
current_task.update_state(
|
||||
self.update_state(
|
||||
state='PROGRESS',
|
||||
meta={'current': 25, 'total': 100, 'status': f'获取回调请求成功(ID={callback_log_id}, site_id={site_id}),开始分析处理...'}
|
||||
)
|
||||
@@ -88,7 +88,7 @@ def push_data_to_dtc_task():
|
||||
raise Exception(f"保存callback_data:{callback_log_id}失败,任务停止执行")
|
||||
|
||||
# 更新任务状态
|
||||
current_task.update_state(
|
||||
self.update_state(
|
||||
state='PROGRESS',
|
||||
meta={'current': 50, 'total': 100, 'status': f'请求体中通话明细处理成功(ID={callback_log_id}, site_id={site_id}),开始过滤需要转发的通话记录...'}
|
||||
)
|
||||
@@ -140,7 +140,7 @@ def push_data_to_dtc_task():
|
||||
return {"status": "completed", "message": "没有有效的通过记录需要处理"}
|
||||
|
||||
# 更新任务状态
|
||||
current_task.update_state(
|
||||
self.update_state(
|
||||
state='PROGRESS',
|
||||
meta={'current': 70, 'total': 100, 'status': f'需要推送的通过记录已获取成功(ID={callback_log_id}, site_id={site_id}),准备转发...'}
|
||||
)
|
||||
@@ -151,9 +151,9 @@ def push_data_to_dtc_task():
|
||||
filtered_request_body['data'] = related_records
|
||||
|
||||
# 更新任务状态
|
||||
current_task.update_state(
|
||||
self.update_state(
|
||||
state='PROGRESS',
|
||||
meta={'current': 85, 'total': 100, 'status': '开始推送数据给DTC(ID={callback_log_id}, site_id={site_id})...'}
|
||||
meta={'current': 85, 'total': 100, 'status': f'开始推送数据给DTC(ID={callback_log_id}, site_id={site_id})...'}
|
||||
)
|
||||
|
||||
success, retry_count = call_external_api_with_retry(
|
||||
@@ -177,9 +177,9 @@ def push_data_to_dtc_task():
|
||||
mark_callback_log_completed(conn, callback_log_id)
|
||||
|
||||
# 更新任务状态
|
||||
current_task.update_state(
|
||||
self.update_state(
|
||||
state='PROGRESS',
|
||||
meta={'current': 100, 'total': 100, 'status': '标记回调请求日志为已完成(ID={callback_log_id}, site_id={site_id})'}
|
||||
meta={'current': 100, 'total': 100, 'status': f'标记回调请求日志为已完成(ID={callback_log_id}, site_id={site_id})'}
|
||||
)
|
||||
|
||||
return {
|
||||
|
||||
Reference in New Issue
Block a user