任务调度器提交

This commit is contained in:
wong
2026-01-17 15:17:05 +08:00
parent 002f03e037
commit 51a731ea68
3 changed files with 459 additions and 214 deletions

View File

@@ -8,6 +8,7 @@
return [
// 任务配置格式:
// '任务标识' => [
// 'name' => '任务名称', // 必填:任务的中文名称,用于日志和显示
// 'command' => '命令名称', // 必填:执行的 ThinkPHP 命令(见 application/command.php
// 'schedule' => 'cron表达式', // 必填cron 表达式,如 '*/5 * * * *' 表示每5分钟
// 'options' => ['--option=value'], // 可选:命令参数(原来 crontab 里的 --xxx=yyy
@@ -23,6 +24,7 @@ return [
// 同步微信好友列表(未删除好友),用于保持系统中好友数据实时更新
'wechat_friends_active' => [
'name' => '同步微信好友列表(未删除)',
'command' => 'wechatFriends:list',
'schedule' => '*/1 * * * *', // 每1分钟
'options' => ['--isDel=0'],
@@ -31,8 +33,9 @@ return [
'log_file' => 'crontab_wechatFriends_active.log',
],
// 拉取添加好友任务列表,驱动自动加好友的任务队列
// 拉取"添加好友任务"列表,驱动自动加好友的任务队列
'friend_task' => [
'name' => '拉取添加好友任务列表',
'command' => 'friendTask:list',
'schedule' => '*/1 * * * *', // 每1分钟
'options' => [],
@@ -43,6 +46,7 @@ return [
// 同步微信好友私聊消息列表,写入消息表,供客服工作台使用
'message_friends' => [
'name' => '同步微信好友私聊消息列表',
'command' => 'message:friendsList',
'schedule' => '*/1 * * * *', // 每1分钟
'options' => [],
@@ -53,6 +57,7 @@ return [
// 同步微信群聊消息列表,写入消息表,供群聊记录与风控分析
'message_chatroom' => [
'name' => '同步微信群聊消息列表',
'command' => 'message:chatroomList',
'schedule' => '*/1 * * * *', // 每1分钟
'options' => [],
@@ -63,6 +68,7 @@ return [
// 客服端消息提醒任务,负责给在线客服推送新消息通知
'kf_notice' => [
'name' => '客服端消息提醒',
'command' => 'kf:notice',
'schedule' => '*/1 * * * *', // 每1分钟
'options' => [],
@@ -77,6 +83,7 @@ return [
// 同步微信设备列表(未删除设备),用于设备管理与监控
'device_active' => [
'name' => '同步微信设备列表(未删除)',
'command' => 'device:list',
'schedule' => '*/5 * * * *', // 每5分钟
'options' => ['--isDel=0'],
@@ -87,6 +94,7 @@ return [
// 同步微信群聊列表(未删除群),用于群管理与后续任务分配
'wechat_chatroom_active' => [
'name' => '同步微信群聊列表(未删除)',
'command' => 'wechatChatroom:list',
'schedule' => '*/5 * * * *', // 每5分钟
'options' => ['--isDel=0'],
@@ -97,6 +105,7 @@ return [
// 同步微信群成员列表(群好友),维持群成员明细数据
'group_friends' => [
'name' => '同步微信群成员列表',
'command' => 'groupFriends:list',
'schedule' => '*/5 * * * *', // 每5分钟
'options' => [],
@@ -105,8 +114,9 @@ return [
'log_file' => 'crontab_groupFriends.log',
],
// 同步微信客服列表,获取绑定到公司的微信号,用于工作台与分配规则
// 同步"微信客服列表",获取绑定到公司的微信号,用于工作台与分配规则
'wechat_list' => [
'name' => '同步微信客服列表',
'command' => 'wechatList:list',
'schedule' => '*/5 * * * *', // 每5分钟
'options' => [],
@@ -117,6 +127,7 @@ return [
// 同步公司账号列表(企业/租户账号),供后台管理与统计
'account_list' => [
'name' => '同步公司账号列表',
'command' => 'account:list',
'schedule' => '*/5 * * * *', // 每5分钟
'options' => [],
@@ -127,6 +138,7 @@ return [
// 内容采集任务,将外部或设备内容同步到系统内容库
'content_collect' => [
'name' => '内容采集任务',
'command' => 'content:collect',
'schedule' => '*/5 * * * *', // 每5分钟
'options' => [],
@@ -137,6 +149,7 @@ return [
// 工作台:自动点赞好友/客户朋友圈,提高账号活跃度
'workbench_auto_like' => [
'name' => '工作台:自动点赞朋友圈',
'command' => 'workbench:autoLike',
'schedule' => '*/6 * * * *', // 每6分钟
'options' => [],
@@ -147,6 +160,7 @@ return [
// 工作台:自动建群任务,按规则批量创建微信群
'workbench_group_create' => [
'name' => '工作台:自动建群任务',
'command' => 'workbench:groupCreate',
'schedule' => '*/5 * * * *', // 每5分钟
'options' => [],
@@ -157,6 +171,7 @@ return [
// 工作台:自动导入通讯录到系统,生成加粉/建群等任务
'workbench_import_contact' => [
'name' => '工作台:自动导入通讯录',
'command' => 'workbench:import-contact',
'schedule' => '*/5 * * * *', // 每5分钟
'options' => [],
@@ -171,6 +186,7 @@ return [
// 清洗并同步微信原始数据到存客宝业务表(数据治理任务)
'sync_wechat_data' => [
'name' => '同步微信原始数据到存客宝',
'command' => 'sync:wechatData',
'schedule' => '*/2 * * * *', // 每2分钟
'options' => [],
@@ -181,6 +197,7 @@ return [
// 工作台:流量分发任务,把流量池中的线索按规则分配给微信号或员工
'workbench_traffic_distribute' => [
'name' => '工作台:流量分发任务',
'command' => 'workbench:trafficDistribute',
'schedule' => '*/2 * * * *', // 每2分钟
'options' => [],
@@ -191,6 +208,7 @@ return [
// 工作台:朋友圈同步任务,拉取并落库朋友圈内容
'workbench_moments' => [
'name' => '工作台:朋友圈同步任务',
'command' => 'workbench:moments',
'schedule' => '*/2 * * * *', // 每2分钟
'options' => [],
@@ -201,6 +219,7 @@ return [
// 预防性切换好友任务,监控频繁/风控风险,自动切换加人对象,保护微信号
'switch_friends' => [
'name' => '预防性切换好友任务',
'command' => 'switch:friends',
'schedule' => '*/2 * * * *', // 每2分钟
'options' => [],
@@ -215,6 +234,7 @@ return [
// 拉取设备通话记录(语音/电话),用于质检、统计或标签打分
'call_recording' => [
'name' => '拉取设备通话记录',
'command' => 'call-recording:list',
'schedule' => '*/30 * * * *', // 每30分钟
'options' => [],
@@ -227,8 +247,9 @@ return [
// 每日 / 每几天任务
// ===========================
// 每日 1:00 同步已删除设备列表,补齐历史状态
// 每日 1:00 同步"已删除设备"列表,补齐历史状态
'device_deleted' => [
'name' => '同步已删除设备列表',
'command' => 'device:list',
'schedule' => '0 1 * * *', // 每天1点
'options' => ['--isDel=1'],
@@ -237,8 +258,9 @@ return [
'log_file' => 'crontab_device_deleted.log',
],
// 每日 1:10 同步已停用设备列表,更新停用状态
// 每日 1:10 同步"已停用设备"列表,更新停用状态
'device_stopped' => [
'name' => '同步已停用设备列表',
'command' => 'device:list',
'schedule' => '10 1 * * *', // 每天1:10
'options' => ['--isDel=2'],
@@ -247,8 +269,9 @@ return [
'log_file' => 'crontab_device_stopped.log',
],
// 每日 1:30 同步已删除微信好友,用于历史恢复与报表
// 每日 1:30 同步"已删除微信好友",用于历史恢复与报表
'wechat_friends_deleted' => [
'name' => '同步已删除微信好友',
'command' => 'wechatFriends:list',
'schedule' => '30 1 * * *', // 每天1:30
'options' => ['--isDel=1'],
@@ -257,8 +280,9 @@ return [
'log_file' => 'crontab_wechatFriends_deleted.log',
],
// 每日 1:30 同步已删除微信群聊,用于统计与留痕
// 每日 1:30 同步"已删除微信群聊",用于统计与留痕
'wechat_chatroom_deleted' => [
'name' => '同步已删除微信群聊',
'command' => 'wechatChatroom:list',
'schedule' => '30 1 * * *', // 每天1:30
'options' => ['--isDel=1'],
@@ -269,6 +293,7 @@ return [
// 每日 2:00 统一计算所有微信账号健康分(基础分 + 动态分)
'wechat_calculate_score' => [
'name' => '计算微信账号健康分',
'command' => 'wechat:calculate-score',
'schedule' => '0 2 * * *', // 每天2点
'options' => [],
@@ -281,6 +306,7 @@ return [
// 每 3 天 3:00 全量同步所有在线好友,做一次大规模校准
'sync_all_friends' => [
'name' => '全量同步所有在线好友',
'command' => 'sync:allFriends',
'schedule' => '0 3 */3 * *', // 每3天的3点
'options' => [],
@@ -291,6 +317,7 @@ return [
// 检查未读/未回复消息并自动迁移好友每5分钟执行一次
'check_unread_message' => [
'name' => '检查未读/未回复消息并自动迁移好友',
'command' => 'check:unread-message',
'schedule' => '*/5 * * * *', // 每5分钟
'options' => ['--minutes=30'], // 30分钟未读/未回复
@@ -301,6 +328,7 @@ return [
// 同步部门列表,用于部门管理与权限控制
'department_list' => [
'name' => '同步部门列表',
'command' => 'department:list',
'schedule' => '*/30 * * * *', // 每30分钟
'options' => [],
@@ -311,6 +339,7 @@ return [
// 同步内容库,将外部内容同步到系统内容库
'content_sync' => [
'name' => '同步内容库',
'command' => 'content:sync',
'schedule' => '0 2 * * *', // 每天2点
'options' => [],
@@ -321,6 +350,7 @@ return [
// 朋友圈采集任务,采集好友朋友圈内容
'moments_collect' => [
'name' => '朋友圈采集任务',
'command' => 'moments:collect',
'schedule' => '0 6 * * *', // 每天6点
'options' => [],
@@ -331,6 +361,7 @@ return [
// 分配规则列表,同步分配规则数据
'allotrule_list' => [
'name' => '同步分配规则列表',
'command' => 'allotrule:list',
'schedule' => '0 3 * * *', // 每天3点
'options' => [],
@@ -341,6 +372,7 @@ return [
// 自动创建分配规则,根据规则自动创建分配任务
'allotrule_autocreate' => [
'name' => '自动创建分配规则',
'command' => 'allotrule:autocreate',
'schedule' => '0 4 * * *', // 每天4点
'options' => [],
@@ -351,6 +383,7 @@ return [
// 工作台:入群欢迎语任务,自动发送入群欢迎消息
'workbench_group_welcome' => [
'name' => '工作台:入群欢迎语任务',
'command' => 'workbench:groupWelcome',
'schedule' => '*/1 * * * *', // 每1分钟
'options' => [],
@@ -361,6 +394,7 @@ return [
// 采集客服自己的朋友圈,同步客服账号的朋友圈内容
'own_moments_collect' => [
'name' => '采集客服自己的朋友圈',
'command' => 'own:moments:collect',
'schedule' => '*/30 * * * *', // 每30分钟
'options' => [],