Example #1
0
 /**
  * Job执行逻辑
  */
 public function handle_request()
 {
     $this->setLog(sprintf('[%s] lastLogId: %s' . PHP_EOL, date('Y-m-d H:i:s'), $this->lastLogId));
     $typeArray = explode('|', $this->type);
     $houseType = $typeArray[0];
     $cityId = $typeArray[1];
     // 获取任务
     $tasks = Util_SearchUtil::getJpPropsListFromSolr($houseType, $cityId, $this->lastLogId, $this->limit);
     if ($tasks === false) {
         $this->setLog(sprintf('[%s] remark: %s' . PHP_EOL, date('Y-m-d H:i:s'), '获取数据失败'));
         exit;
     }
     if (empty($tasks)) {
         // 任务完成
         $this->setLog(sprintf('[%s] remark: %s' . PHP_EOL, date('Y-m-d H:i:s'), '任务执行完成'));
         $this->setFlag(array_merge($this->getFlag(), array($this->type => array('isFinish' => true))));
         exit;
     }
     // 循环处理任务
     foreach ($tasks as $task) {
         $solrOnProId = $task['id'];
         $this->dealTask($solrOnProId);
         $this->lastLogId += 1;
     }
     //记录游标
     $this->setFlag(array_merge($this->getFlag(), array($this->type => array('lastLogId' => $this->lastLogId))));
 }