where(['status' => 1])->order('time asc')->cursor() as $vo) { [$name, $time] = ["推送客服消息 {$vo['code']}#{$openid}", $this->parseTimeString($vo['time'])]; QueueService::instance()->register($name, "xadmin:fansmsg {$openid} {$vo['code']}", $time, []); } } /** * 解析配置时间格式 * @param string $time * @return int */ private function parseTimeString(string $time): int { if (preg_match('|^.*?(\d{2}).*?(\d{2}).*?(\d{2}).*?$|', $time, $vars)) { return intval($vars[1]) * 3600 * intval($vars[2]) * 60 + intval($vars[3]); } else { return 0; } } }