12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- package service
- import (
- "dy-admin/internal/pcmserver/bus/cabinet_pkg"
- "dy-admin/internal/pcmserver/options"
- "dy-admin/internal/pcmserver/pkg/crontab"
- "fmt"
- "strconv"
- )
- func InitCabinet(opt *options.CabinetConnectOptions) {
- // 初始化设备日志管道
- cabinet_pkg.RunDeviceLogGoroutine()
- // 初始化定时器
- crontab.NewCronManage()
- // 柜子通道管理
- newCabinetsChannel()
- // 内存柜子管理
- cabinet_pkg.NewCabinets()
- // 内存柜子模式
- cabinet_pkg.InitCabinetMemConfig()
- // 初始化内存柜子
- ServicesGroupApp.CabinetService.initCabinets()
- // 柜子时间管理 需要开启定时任务的情况
- ServicesGroupApp.CabinetTimeService.initCabinetTimeCronTab()
- // 请假管理时间,开启定时任务
- ServicesGroupApp.LeaveLogService.initLeaveLogCronTab()
- // 每分钟0秒跑一次的定时任务
- setWorkTimeCronTab()
- // 每天凌晨3点开始清理日志
- setDeleteSysLogCronTab()
- // 初始化tcp
- cabinet_pkg.InitTcpServer(strconv.Itoa(opt.Port))
- // 初始化ws连接管理
- initHomeClientHub()
- }
- func setWorkTimeCronTab() {
- jobName := "work_time_always"
- job := &WorkTimeCronJob{}
- // 每分钟的0秒开始执行
- spec := fmt.Sprintf("%s %s %s %s %s %s", "0", "*", "*", "*", "*", "*")
- err := crontab.GetCron("work_time").AddJobWithParams(jobName, spec, job)
- if err != nil {
- panic(err)
- }
- }
- func setDeleteSysLogCronTab() {
- jobName := "delete_log"
- job := &DeleteLogCronJob{}
- spec := fmt.Sprintf("%s %s %s %s %s %s", "0", "0", "3", "*", "*", "*")
- err := crontab.GetCron("delete_log").AddJobWithParams(jobName, spec, job)
- if err != nil {
- panic(err)
- }
- }
|