Files
saas/task_executor.py
panda 2528a2778c 校验唯一任务添加时间
优化续约代办请求次数
2026-01-04 13:44:53 +08:00

65 lines
3.0 KiB
Python

from module import Module
from log_config import configure_task_logger, configure_error_task_logger
logger = configure_task_logger()
error_task_logger = configure_error_task_logger()
def execute_task(task_id) -> bool:
"""
执行指定任务ID对应的任务函数。
:param task_id: 任务的唯一标识符
:return: 返回布尔值,表示任务是否成功执行
"""
# 定义任务ID到函数的映射
task_functions = {
'NGV新增数据': Module.update_ngv_data,
'NGV更新数据': Module.daily_update_ngv_data,
'新签客户回访': Module.new_services_revisit,
'续约客户回访': Module.renew_services_revisit,
'大客户回访': Module.key_services_revisit,
'接车宝日常派发': Module.jcb_efficient_car_pickup_data,
'接车宝异常派发': Module.jcb_abnormal_revisit_data,
'私域小程序数据支撑': Module.data_Support_Private_Mini_Program,
'小六提成数据支撑': Module.data_Support_Commission,
'异业合作数据支撑': Module.data_Support_DifferentIndustries,
'短信数据支撑': Module.data_Support_GroupNotification,
'海外邮件推送': Module.data_Update_Email,
'异常服务待办派发': Module.data_Exception_Task,
'手动添加日常回访': Module.revisit_all_information,
"宜搭FPO实例同步简道云": Module.yida_Fpo_Jandaoyun,
"宜搭流程耗时写入BI": Module.get_process_time,
"简道云海外项目CRM客户档案迁移BI": Module.CRMDataProcessor,
"简道云员工ID表更新": Module.update_ID_form,
"安装服务历史派发": Module.install_event_dispatcher,
"新签客户回访测试": Module.test,
"分子报备调整": Module.update_denominator_reporting_adjustment,
"分母报备调整": Module.update_molecule_reporting_adjustment_to_bi,
"履约表数据支撑": Module.import_performance_data,
"字段监控": Module.data_monitor,
"经销商新签服务单转BI": Module.new_dealer_service_order_to_bi,
"合伙人结算登记同步到BI": Module.partner_settlement_to_BI,
"非标业绩提报转BI": Module.non_standar_performance_to_BI,
"高德匹配手机号": Module.GD_match_phone_number,
"省市区人员关系表转BI": Module.province_city_person_relation_to_bi,
"续约回访待办": Module.renewal_to_do,
# 添加更多任务函数映射...
}
# 尝试找到对应的任务函数并执行它
task_function = task_functions.get(task_id)
if task_function:
try:
result = task_function()
if result:
logger.info(f"任务 {task_id} 执行成功: {result}")
return True
else:
return False
except Exception as e:
error_task_logger.error(f"任务 {task_id} 执行失败: {e}")
return False
else:
logger.warning(f"未找到任务 {task_id} 对应的函数。")
return False