package tasks import ( "context" "git.5iot.com/iotlcm-public/iotlcm-admin-svr/internal/service" "time" ) const ( warningTrafficJobPeriod = -time.Second warningTrafficJobTTL = 45 * time.Minute warningExpirePreloadJobPeriod = 24 * time.Hour warningExpirePreloadJobTTL = 6 * time.Hour warningExpireScanJobPeriod = time.Hour warningExpireScanJobTTL = 30 * time.Minute ) func init() { RegisterInnerTask("scan_sim_warning", "ScanSimWarning") RegisterInnerTask("scan_sim_traffic_warning", "ScanSimTrafficWarning") RegisterInnerTask("scan_sim_flow_pool_warning", "ScanSimFlowPoolWarning") RegisterInnerTask("scan_sim_expire_warning", "ScanSimExpireWarning") RegisterInnerTask("preload_sim_expire_warning", "PreloadSimExpireWarning") RegisterInnerTask("scan_sim_expire_candidate_warning", "ScanSimExpireCandidateWarning") RegisterInnerTask("ScanSimWarning", "ScanSimWarning") RegisterInnerTask("ScanSimTrafficWarning", "ScanSimTrafficWarning") RegisterInnerTask("ScanSimFlowPoolWarning", "ScanSimFlowPoolWarning") RegisterInnerTask("ScanSimExpireWarning", "ScanSimExpireWarning") RegisterInnerTask("PreloadSimExpireWarning", "PreloadSimExpireWarning") RegisterInnerTask("ScanSimExpireCandidateWarning", "ScanSimExpireCandidateWarning") RegisterInnerTask("check_flow_pool_warning", "ScanSimFlowPoolWarning") RegisterInnerTask("notify_package_expiry", "ScanSimExpireWarning") } func (t Task) ScanSimWarning() { t.runWithRedisJobLock(context.Background(), redisJobLockOptions{ InvokeTarget: "scan_sim_warning", Period: warningTrafficJobPeriod, TTL: warningTrafficJobTTL, }, service.SimWarning().Scan) } func (t Task) ScanSimTrafficWarning() { t.runWithRedisJobLock(context.Background(), redisJobLockOptions{ InvokeTarget: "scan_sim_warning", Period: warningTrafficJobPeriod, TTL: warningTrafficJobTTL, }, service.SimWarning().ScanTraffic) } func (t Task) ScanSimFlowPoolWarning() { t.runWithRedisJobLock(context.Background(), redisJobLockOptions{ InvokeTarget: "scan_sim_warning", Period: warningTrafficJobPeriod, TTL: warningTrafficJobTTL, }, service.SimWarning().ScanFlowPool) } func (t Task) ScanSimExpireWarning() { t.runWithRedisJobLock(context.Background(), redisJobLockOptions{ InvokeTarget: "notify_package_expiry", Period: warningExpireScanJobPeriod, TTL: warningExpireScanJobTTL, }, service.SimWarning().ScanExpireCandidates) } func (t Task) PreloadSimExpireWarning() { t.runWithRedisJobLock(context.Background(), redisJobLockOptions{ InvokeTarget: "preload_sim_expire_warning", Period: warningExpirePreloadJobPeriod, TTL: warningExpirePreloadJobTTL, }, service.SimWarning().PreloadExpireCandidates) } func (t Task) ScanSimExpireCandidateWarning() { t.runWithRedisJobLock(context.Background(), redisJobLockOptions{ InvokeTarget: "scan_sim_expire_candidate_warning", Period: warningExpireScanJobPeriod, TTL: warningExpireScanJobTTL, }, service.SimWarning().ScanExpireCandidates) }