line(date('Y-m-d H:i:s').'开始计算权重'); $key = "community_calc_post_score"; $postIds = Redis::smembers($key); Log::debug('权重帖子ID:' . json_encode($postIds)); foreach ($postIds as $postId) { $postInfo = PostData::where("post_id", $postId)->first(); $post = Post::find($postId); if(empty($postInfo) || empty($post)){ continue; } Log::debug('帖子:' . json_encode($postInfo)); $temp = (0.2 * $postInfo['pv'] + (5 * $postInfo->share_count) + (3 * $postInfo->praise_count) + (10 * $postInfo->collect_count) + (5 * $postInfo->comment_count) - (23 * $postInfo->dislike_count)); $fresh = (Carbon::parse($postInfo['created_at'])->timestamp) - (Carbon::parse("2019-05-01 00:00:00")->timestamp); if($temp){ $score = log10($temp) + $fresh / 43200; }else{ $score = $fresh / 43200; } $post->weight = $score; $post->save(); Redis::srem($key,$postId); Log::debug(date("Y-m-d H:i:s") . "设置帖子" . $postInfo->post_id . "的权重分为:" . $score); } $this->line(date('Y-m-d H:i:s').' 计算权重结束'); } }