Files
sbnews/docker/crawler/sql/create_crawl_error_log.sql
T
2026-06-12 22:27:18 +08:00

22 lines
1.4 KiB
SQL

-- 爬虫错误日志表
CREATE TABLE IF NOT EXISTS `la_crawl_error_log` (
`id` BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
`task_name` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '任务名称(schedule/standings/match_finish等)',
`request_url` VARCHAR(1000) NOT NULL DEFAULT '' COMMENT '请求URL',
`request_method` VARCHAR(10) NOT NULL DEFAULT 'GET' COMMENT '请求方法',
`request_params` TEXT COMMENT '请求参数(JSON)',
`http_status` INT NOT NULL DEFAULT 0 COMMENT 'HTTP状态码(0=网络异常)',
`error_type` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '错误类型(NetworkError/404/timeout等)',
`error_message` TEXT COMMENT '错误信息',
`response_body` TEXT COMMENT '响应内容(截断)',
`channel` VARCHAR(20) NOT NULL DEFAULT '' COMMENT '请求通道(api/tls/playwright/page)',
`notified` TINYINT NOT NULL DEFAULT 0 COMMENT '是否已发送邮件通知(0=未通知,1=已通知)',
`created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
KEY `idx_notified` (`notified`),
KEY `idx_task_created` (`task_name`, `created_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='爬虫请求错误日志';
-- 定时任务:错误报告邮件(每5分钟)
INSERT INTO `la_dev_crontab` (`name`, `type`, `command`, `params`, `status`, `expression`, `create_time`, `update_time`)
VALUES ('爬虫错误报告邮件', 1, 'crawler', 'error_report', 1, '*/5 * * * *', UNIX_TIMESTAMP(), UNIX_TIMESTAMP());