model = new TaskModel(); $cacheKey = "task_space_bargain_task"; if (!Cache::has($cacheKey)) { // 将已过期的砍价任务标记为已结束 $this->onSetIsEnd(); Cache::set($cacheKey, time(), 10); } } catch (\Throwable $e) { echo 'ERROR BargainTask: ' . $e->getMessage() . PHP_EOL; log_write('BargainTask TASK : ' . '__ ' . $e->getMessage(), 'task'); } return true; } /** * 将已过期的砍价任务标记为已结束 */ private function onSetIsEnd() { // 获取已过期但未结束的砍价任务 $list = $this->model->getEndList(); $taskIds = helper::getArrayColumn($list, 'bargain_task_id'); // 将砍价任务标记为已结束(批量) !empty($taskIds) && $this->model->setIsEnd($taskIds); // 记录日志 $this->dologs('close', [ 'orderIds' => json_encode($taskIds), ]); return true; } /** * 记录日志 * @param $method * @param array $params * @return bool|int */ private function dologs($method, $params = []) { $value = 'behavior bargain Task --' . $method; foreach ($params as $key => $val) $value .= ' --' . $key . ' ' . $val; return log_write($value, 'task'); } }