// +---------------------------------------------------------------------- namespace crmeb\listens; use crmeb\interfaces\ListenerInterface; use crmeb\jobs\SyncProductTopJob; use crmeb\services\TimerService; use think\facade\Log; use think\facade\Queue; class SyncHotRankingListen extends TimerService implements ListenerInterface { public function handle($event): void { $hot = systemConfig('hot_ranking_switch'); if (!$hot) return ; $time = systemConfig('hot_ranking_time'); $time = ($time && $time > 1) ?: 1 ; $this->tick(1000 * 60 * 60 * $time, function () { request()->clearCache(); try{ Queue::push(SyncProductTopJob::class, []); }catch (\Exception $e) { Log::info('热卖排行错误:'.var_export([$e->getMessage()],1)); } }); } }