86 lines
2.8 KiB
JavaScript
86 lines
2.8 KiB
JavaScript
const SQL = require('sql')
|
||
const cache = require('cache')
|
||
const crontab = require('crontab');
|
||
|
||
|
||
// 声明缓存池
|
||
cache.new('results');
|
||
// cache.new('proxy');
|
||
cache.new('open');
|
||
cache.new('login');
|
||
cache.new('oauth');
|
||
cache.new('session')
|
||
|
||
|
||
// 声明代理和终端
|
||
runtime.proxy.register('core', 'xmagic')
|
||
runtime.xterm.register('core-xmagic')
|
||
|
||
// mqtt数据同步脚本
|
||
|
||
runtime.exec('event/apps/jy/qjy/data_sync.js')
|
||
|
||
// 声明SQL连接池
|
||
// 生产环境
|
||
SQL.new(
|
||
"system_sql",
|
||
"mysql",
|
||
// `${os.getEnv('MYSQL_DSN')}`,
|
||
"shkc:yjpPdLXmMMsz7XGx@tcp(43.136.167.160:3306)/shkc",
|
||
1024 // 声明缓存池大小
|
||
);
|
||
|
||
// 测试环境
|
||
// SQL.new(
|
||
// "develop_sql",
|
||
// "mysql",
|
||
// `${os.getEnv('MYSQL_DSN')}_test`,
|
||
// 1024 // 声明缓存池大小
|
||
// );
|
||
|
||
// 从系统配置表中读取配置信息,并存入缓存池中
|
||
const SYSTEM_CONFIG = SQL.cache.query(
|
||
"system_sql",
|
||
86400, // 缓存时间,单位秒,0表示不缓存,-1表示永久缓存,默认缓存时间为1天
|
||
"SELECT * FROM `sys_configs` WHERE `delete_time` IS NULL;",
|
||
);
|
||
|
||
// 添加一个每秒触发一次的定时任务
|
||
// "* * * * * *" 格式说明
|
||
// 秒 分 时 日 月 星期
|
||
// * 表示任意值
|
||
// , 表示多个值
|
||
// - 表示范围
|
||
// / 表示步长
|
||
// 例如:
|
||
// * * * * * * 30 表示每秒触发一次且执行时长限制为30秒(否则超时强制结束)
|
||
// 0 * * * * * * 表示每分钟的第0秒触发一次且不限制执行时长(可以用 * 或 0 表示)
|
||
// 0 0 * * * * 0 表示每小时的第0分第0秒触发一次
|
||
// 0 0 0 * * * * 表示每天的第0时第0分第0秒触发一次
|
||
// crontab.add('test','* * * * * * *','console.log(123456)') // 每秒输出123456
|
||
// crontab.add('test1','*/5 * * * * * *','console.log(1234567)') // 每5秒输出123456
|
||
// crontab.add('test','0 0 0 * * * *','console.log(123456)') // 每秒输出123456
|
||
|
||
// 每过10分钟传一次
|
||
crontab.add('bp_sync_sh', '0 */10 * * * * *', 'event/apps/bp_sync/sh.js')
|
||
|
||
// 每过11小时50分更新
|
||
// crontab.add('dingTalk_access_token', '0 50 */11 * * * 30', 'event/apps/dingtalk/getAccessToken.js')
|
||
crontab.add('wechat_access_token', '0 50 */11 * * * *', 'event/apps/wechat/getAccessToken.js')
|
||
|
||
// 每天00:00 刷新token
|
||
crontab.add('qwen_access_token', '0 0 0 * * * *', 'event/apps/ai/getQwenToken.js')
|
||
|
||
// 每5分钟执行一次 test -> 1
|
||
// crontab.add('refresh_flow', '0 */5 * * * * *', 'event/oa_flow/refresh_flow/refresh_flow.js')
|
||
|
||
// 每2个小时执行一次
|
||
// crontab.add('plan_warning', '0 0 */2 * * * *', 'event/oa_flow/refresh_flow/plan_warning.js')
|
||
|
||
// 每天00:00:00 自动审核日报
|
||
// crontab.padd('dayreport_status_update', '0 0 0 * * * *', 1, 'event/system/oaAutoPassDaily.js')
|
||
crontab.padd('dingtalk_access_token', '0 0 0 * * * *', 2, 'event/apps/dingtalk/getAccessToken.js')
|
||
|
||
// 启动时运行一遍
|
||
// crontab.runAll()
|