{ "execution": { "id": "e21e1935-5abf-434f-9984-69c492402db7", "site_id": 2790685415443269, "task_codes": [ "DWS_ASSISTANT_DAILY", "DWS_ASSISTANT_MONTHLY", "DWS_ASSISTANT_CUSTOMER", "DWS_ASSISTANT_SALARY", "DWS_ASSISTANT_FINANCE", "ODS_SETTLEMENT_RECORDS", "ODS_PAYMENT", "ODS_REFUND", "DWS_BUILD_ORDER_SUMMARY", "DWS_MEMBER_CONSUMPTION", "DWS_MEMBER_VISIT", "ODS_GOODS_CATEGORY", "ODS_STORE_GOODS", "ODS_STORE_GOODS_SALES", "ODS_TENANT_GOODS", "ODS_PLATFORM_COUPON", "ODS_GROUP_PACKAGE", "ODS_GROUP_BUY_REDEMPTION", "ODS_INVENTORY_STOCK", "ODS_INVENTORY_CHANGE", "DWS_GOODS_STOCK_DAILY", "DWS_GOODS_STOCK_WEEKLY", "DWS_GOODS_STOCK_MONTHLY", "DWS_FINANCE_DAILY", "DWS_FINANCE_RECHARGE", "DWS_FINANCE_INCOME_STRUCTURE", "DWS_FINANCE_DISCOUNT_DETAIL", "DWS_WINBACK_INDEX", "DWS_NEWCONV_INDEX", "DWS_RELATION_INDEX", "DWD_LOAD_FROM_ODS" ], "status": "success", "started_at": "2026-02-21T19:27:47.937140+08:00", "finished_at": "2026-02-21T19:30:18.341157+08:00", "exit_code": 0, "duration_ms": 150404, "command": "C:\\NeoZQYY\\.venv\\Scripts\\python.exe -m cli.main --flow api_full --processing-mode full_window --tasks DWS_ASSISTANT_DAILY,DWS_ASSISTANT_MONTHLY,DWS_ASSISTANT_CUSTOMER,DWS_ASSISTANT_SALARY,DWS_ASSISTANT_FINANCE,ODS_SETTLEMENT_RECORDS,ODS_PAYMENT,ODS_REFUND,DWS_BUILD_ORDER_SUMMARY,DWS_MEMBER_CONSUMPTION,DWS_MEMBER_VISIT,ODS_GOODS_CATEGORY,ODS_STORE_GOODS,ODS_STORE_GOODS_SALES,ODS_TENANT_GOODS,ODS_PLATFORM_COUPON,ODS_GROUP_PACKAGE,ODS_GROUP_BUY_REDEMPTION,ODS_INVENTORY_STOCK,ODS_INVENTORY_CHANGE,DWS_GOODS_STOCK_DAILY,DWS_GOODS_STOCK_WEEKLY,DWS_GOODS_STOCK_MONTHLY,DWS_FINANCE_DAILY,DWS_FINANCE_RECHARGE,DWS_FINANCE_INCOME_STRUCTURE,DWS_FINANCE_DISCOUNT_DETAIL,DWS_WINBACK_INDEX,DWS_NEWCONV_INDEX,DWS_RELATION_INDEX,DWD_LOAD_FROM_ODS --window-start 2025-11-01 --window-end 2026-02-20 --window-split month --window-split-days 30 --force-full --store-id 2790685415443269", "summary": null }, "output_log_length": 0, "error_log_length": 55493, "output_log_tail_200": "", "error_log_tail_200": " ~~~~~~~~~~~~~~~^^^^^^^^^^^^^\npsycopg2.errors.InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略\n\n[2026-02-21 19:30:15] INFO | etl_billiards | DWS_WINBACK_INDEX: 开始执行工具类任务\n[2026-02-21 19:30:15] INFO | etl_billiards | 开始计算 DWS_WINBACK_INDEX\n[2026-02-21 19:30:15] ERROR | etl_billiards | DWS_WINBACK_INDEX: 工具类任务执行失败: 错误: 当前事务被终止, 事务块结束之前的查询被忽略\nTraceback (most recent call last):\n File \"C:\\NeoZQYY\\apps\\etl\\connectors\\feiqiu\\orchestration\\task_executor.py\", line 403, in _run_utility_task\n result = task.execute(None)\n File \"C:\\NeoZQYY\\apps\\etl\\connectors\\feiqiu\\tasks\\dws\\index\\member_index_base.py\", line 84, in execute\n tenant_id = self._get_tenant_id()\n File \"C:\\NeoZQYY\\apps\\etl\\connectors\\feiqiu\\tasks\\dws\\index\\member_index_base.py\", line 169, in _get_tenant_id\n rows = self.db.query(sql)\n File \"C:\\NeoZQYY\\apps\\etl\\connectors\\feiqiu\\database\\operations.py\", line 99, in query\n return self._connection.query(sql, args)\n ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^\n File \"C:\\NeoZQYY\\apps\\etl\\connectors\\feiqiu\\database\\connection.py\", line 50, in query\n c.execute(sql, args)\n ~~~~~~~~~^^^^^^^^^^^\n File \"C:\\NeoZQYY\\.venv\\Lib\\site-packages\\psycopg2\\extras.py\", line 236, in execute\n return super().execute(query, vars)\n ~~~~~~~~~~~~~~~^^^^^^^^^^^^^\npsycopg2.errors.InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略\n\n[2026-02-21 19:30:15] ERROR | etl_billiards | 任务 DWS_WINBACK_INDEX 失败: 错误: 当前事务被终止, 事务块结束之前的查询被忽略\nTraceback (most recent call last):\n File \"C:\\NeoZQYY\\apps\\etl\\connectors\\feiqiu\\orchestration\\task_executor.py\", line 94, in run_tasks\n task_result = self.run_single_task(\n task_code, run_uuid, store_id, data_source=data_source,\n )\n File \"C:\\NeoZQYY\\apps\\etl\\connectors\\feiqiu\\orchestration\\task_executor.py\", line 150, in run_single_task\n return self._run_utility_task(task_code_upper, store_id)\n ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"C:\\NeoZQYY\\apps\\etl\\connectors\\feiqiu\\orchestration\\task_executor.py\", line 403, in _run_utility_task\n result = task.execute(None)\n File \"C:\\NeoZQYY\\apps\\etl\\connectors\\feiqiu\\tasks\\dws\\index\\member_index_base.py\", line 84, in execute\n tenant_id = self._get_tenant_id()\n File \"C:\\NeoZQYY\\apps\\etl\\connectors\\feiqiu\\tasks\\dws\\index\\member_index_base.py\", line 169, in _get_tenant_id\n rows = self.db.query(sql)\n File \"C:\\NeoZQYY\\apps\\etl\\connectors\\feiqiu\\database\\operations.py\", line 99, in query\n return self._connection.query(sql, args)\n ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^\n File \"C:\\NeoZQYY\\apps\\etl\\connectors\\feiqiu\\database\\connection.py\", line 50, in query\n c.execute(sql, args)\n ~~~~~~~~~^^^^^^^^^^^\n File \"C:\\NeoZQYY\\.venv\\Lib\\site-packages\\psycopg2\\extras.py\", line 236, in execute\n return super().execute(query, vars)\n ~~~~~~~~~~~~~~~^^^^^^^^^^^^^\npsycopg2.errors.InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略\n\n[2026-02-21 19:30:15] INFO | etl_billiards | DWS_NEWCONV_INDEX: 开始执行工具类任务\n[2026-02-21 19:30:15] INFO | etl_billiards | 开始计算 DWS_NEWCONV_INDEX\n[2026-02-21 19:30:15] ERROR | etl_billiards | DWS_NEWCONV_INDEX: 工具类任务执行失败: 错误: 当前事务被终止, 事务块结束之前的查询被忽略\nTraceback (most recent call last):\n File \"C:\\NeoZQYY\\apps\\etl\\connectors\\feiqiu\\orchestration\\task_executor.py\", line 403, in _run_utility_task\n result = task.execute(None)\n File \"C:\\NeoZQYY\\apps\\etl\\connectors\\feiqiu\\tasks\\dws\\index\\member_index_base.py\", line 84, in execute\n tenant_id = self._get_tenant_id()\n File \"C:\\NeoZQYY\\apps\\etl\\connectors\\feiqiu\\tasks\\dws\\index\\member_index_base.py\", line 169, in _get_tenant_id\n rows = self.db.query(sql)\n File \"C:\\NeoZQYY\\apps\\etl\\connectors\\feiqiu\\database\\operations.py\", line 99, in query\n return self._connection.query(sql, args)\n ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^\n File \"C:\\NeoZQYY\\apps\\etl\\connectors\\feiqiu\\database\\connection.py\", line 50, in query\n c.execute(sql, args)\n ~~~~~~~~~^^^^^^^^^^^\n File \"C:\\NeoZQYY\\.venv\\Lib\\site-packages\\psycopg2\\extras.py\", line 236, in execute\n return super().execute(query, vars)\n ~~~~~~~~~~~~~~~^^^^^^^^^^^^^\npsycopg2.errors.InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略\n\n[2026-02-21 19:30:15] ERROR | etl_billiards | 任务 DWS_NEWCONV_INDEX 失败: 错误: 当前事务被终止, 事务块结束之前的查询被忽略\nTraceback (most recent call last):\n File \"C:\\NeoZQYY\\apps\\etl\\connectors\\feiqiu\\orchestration\\task_executor.py\", line 94, in run_tasks\n task_result = self.run_single_task(\n task_code, run_uuid, store_id, data_source=data_source,\n )\n File \"C:\\NeoZQYY\\apps\\etl\\connectors\\feiqiu\\orchestration\\task_executor.py\", line 150, in run_single_task\n return self._run_utility_task(task_code_upper, store_id)\n ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"C:\\NeoZQYY\\apps\\etl\\connectors\\feiqiu\\orchestration\\task_executor.py\", line 403, in _run_utility_task\n result = task.execute(None)\n File \"C:\\NeoZQYY\\apps\\etl\\connectors\\feiqiu\\tasks\\dws\\index\\member_index_base.py\", line 84, in execute\n tenant_id = self._get_tenant_id()\n File \"C:\\NeoZQYY\\apps\\etl\\connectors\\feiqiu\\tasks\\dws\\index\\member_index_base.py\", line 169, in _get_tenant_id\n rows = self.db.query(sql)\n File \"C:\\NeoZQYY\\apps\\etl\\connectors\\feiqiu\\database\\operations.py\", line 99, in query\n return self._connection.query(sql, args)\n ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^\n File \"C:\\NeoZQYY\\apps\\etl\\connectors\\feiqiu\\database\\connection.py\", line 50, in query\n c.execute(sql, args)\n ~~~~~~~~~^^^^^^^^^^^\n File \"C:\\NeoZQYY\\.venv\\Lib\\site-packages\\psycopg2\\extras.py\", line 236, in execute\n return super().execute(query, vars)\n ~~~~~~~~~~~~~~~^^^^^^^^^^^^^\npsycopg2.errors.InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略\n\n[2026-02-21 19:30:15] INFO | etl_billiards | DWS_RELATION_INDEX: 开始执行工具类任务\n[2026-02-21 19:30:15] INFO | etl_billiards | 开始计算关系指数(RS/OS/MS/ML)\n[2026-02-21 19:30:15] ERROR | etl_billiards | DWS_RELATION_INDEX: 工具类任务执行失败: 错误: 当前事务被终止, 事务块结束之前的查询被忽略\nTraceback (most recent call last):\n File \"C:\\NeoZQYY\\apps\\etl\\connectors\\feiqiu\\orchestration\\task_executor.py\", line 403, in _run_utility_task\n result = task.execute(None)\n File \"C:\\NeoZQYY\\apps\\etl\\connectors\\feiqiu\\tasks\\dws\\index\\relation_index_task.py\", line 145, in execute\n tenant_id = self._get_tenant_id()\n File \"C:\\NeoZQYY\\apps\\etl\\connectors\\feiqiu\\tasks\\dws\\index\\relation_index_task.py\", line 688, in _get_tenant_id\n rows = self.db.query(sql)\n File \"C:\\NeoZQYY\\apps\\etl\\connectors\\feiqiu\\database\\operations.py\", line 99, in query\n return self._connection.query(sql, args)\n ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^\n File \"C:\\NeoZQYY\\apps\\etl\\connectors\\feiqiu\\database\\connection.py\", line 50, in query\n c.execute(sql, args)\n ~~~~~~~~~^^^^^^^^^^^\n File \"C:\\NeoZQYY\\.venv\\Lib\\site-packages\\psycopg2\\extras.py\", line 236, in execute\n return super().execute(query, vars)\n ~~~~~~~~~~~~~~~^^^^^^^^^^^^^\npsycopg2.errors.InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略\n\n[2026-02-21 19:30:15] ERROR | etl_billiards | 任务 DWS_RELATION_INDEX 失败: 错误: 当前事务被终止, 事务块结束之前的查询被忽略\nTraceback (most recent call last):\n File \"C:\\NeoZQYY\\apps\\etl\\connectors\\feiqiu\\orchestration\\task_executor.py\", line 94, in run_tasks\n task_result = self.run_single_task(\n task_code, run_uuid, store_id, data_source=data_source,\n )\n File \"C:\\NeoZQYY\\apps\\etl\\connectors\\feiqiu\\orchestration\\task_executor.py\", line 150, in run_single_task\n return self._run_utility_task(task_code_upper, store_id)\n ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"C:\\NeoZQYY\\apps\\etl\\connectors\\feiqiu\\orchestration\\task_executor.py\", line 403, in _run_utility_task\n result = task.execute(None)\n File \"C:\\NeoZQYY\\apps\\etl\\connectors\\feiqiu\\tasks\\dws\\index\\relation_index_task.py\", line 145, in execute\n tenant_id = self._get_tenant_id()\n File \"C:\\NeoZQYY\\apps\\etl\\connectors\\feiqiu\\tasks\\dws\\index\\relation_index_task.py\", line 688, in _get_tenant_id\n rows = self.db.query(sql)\n File \"C:\\NeoZQYY\\apps\\etl\\connectors\\feiqiu\\database\\operations.py\", line 99, in query\n return self._connection.query(sql, args)\n ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^\n File \"C:\\NeoZQYY\\apps\\etl\\connectors\\feiqiu\\database\\connection.py\", line 50, in query\n c.execute(sql, args)\n ~~~~~~~~~^^^^^^^^^^^\n File \"C:\\NeoZQYY\\.venv\\Lib\\site-packages\\psycopg2\\extras.py\", line 236, in execute\n return super().execute(query, vars)\n ~~~~~~~~~~~~~~~^^^^^^^^^^^^^\npsycopg2.errors.InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略\n\n[2026-02-21 19:30:15] ERROR | etl_billiards | 任务 DWD_LOAD_FROM_ODS 失败: 错误: 当前事务被终止, 事务块结束之前的查询被忽略\nTraceback (most recent call last):\n File \"C:\\NeoZQYY\\apps\\etl\\connectors\\feiqiu\\orchestration\\task_executor.py\", line 94, in run_tasks\n task_result = self.run_single_task(\n task_code, run_uuid, store_id, data_source=data_source,\n )\n File \"C:\\NeoZQYY\\apps\\etl\\connectors\\feiqiu\\orchestration\\task_executor.py\", line 152, in run_single_task\n task_cfg = self._load_task_config(task_code, store_id)\n File \"C:\\NeoZQYY\\apps\\etl\\connectors\\feiqiu\\orchestration\\task_executor.py\", line 429, in _load_task_config\n rows = self.db_ops.query(sql, (store_id, task_code))\n File \"C:\\NeoZQYY\\apps\\etl\\connectors\\feiqiu\\database\\operations.py\", line 99, in query\n return self._connection.query(sql, args)\n ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^\n File \"C:\\NeoZQYY\\apps\\etl\\connectors\\feiqiu\\database\\connection.py\", line 50, in query\n c.execute(sql, args)\n ~~~~~~~~~^^^^^^^^^^^\n File \"C:\\NeoZQYY\\.venv\\Lib\\site-packages\\psycopg2\\extras.py\", line 236, in execute\n return super().execute(query, vars)\n ~~~~~~~~~~~~~~~^^^^^^^^^^^^^\npsycopg2.errors.InFailedSqlTransaction: 错误: 当前事务被终止, 事务块结束之前的查询被忽略\n\n[2026-02-21 19:30:15] INFO | etl_billiards | 所有任务执行完成\n[2026-02-21 19:30:18] INFO | etl_billiards | 一致性检查报告已生成: C:\\NeoZQYY\\export\\ETL-Connectors\\feiqiu\\REPORTS\\consistency_report_20260221_193018.md\n[2026-02-21 19:30:18] INFO | etl_billiards | 计时报告已生成\n[2026-02-21 19:30:18] INFO | etl_billiards | \n╔══════════════════════════════════════════════════════════════╗\n║ 任务执行总结 ║\n╠══════════════════════════════════════════════════════════════╣\n║ 任务代码: FLOW_API_FULL ║\n║ 执行状态: 成功 ║\n║ 执行时间: 2026-02-21 19:27:49 ~ 19:30:18 (2分29秒) ║\n╠══════════════════════════════════════════════════════════════╣\n║ 数据统计 ║\n║ - 获取记录: 0 ║\n║ - 新增记录: 0 ║\n║ - 更新记录: 0 ║\n║ - 跳过记录: 0 ║\n║ - 错误记录: 0 ║\n╚══════════════════════════════════════════════════════════════╝\n[2026-02-21 19:30:18] INFO | etl_billiards | \n╔══════════════════════════════════════════════════════════════╗\n║ 任务执行总结 ║\n╠══════════════════════════════════════════════════════════════╣\n║ 任务代码: FLOW_API_FULL ║\n║ 执行状态: 成功 ║\n║ 执行时间: 2026-02-21 19:27:49 ~ 19:30:18 (2分29秒) ║\n╠══════════════════════════════════════════════════════════════╣\n║ 数据统计 ║\n║ - 获取记录: 0 ║\n║ - 新增记录: 0 ║\n║ - 更新记录: 0 ║\n║ - 跳过记录: 0 ║\n║ - 错误记录: 0 ║\n╚══════════════════════════════════════════════════════════════╝\n[2026-02-21 19:30:18] INFO | etl_billiards | Flow 执行完成: SUCCESS\n[2026-02-21 19:30:18] INFO | etl_billiards | ETL运行完成" }