Esempio n. 1
0
 /**
  * Execute the console command.
  *
  * @return mixed
  */
 public function handle()
 {
     // $url = 'http://map.naver.com/search2/local.nhn?query='. urlencode('서울특별시+중구+애견호텔');
     //     $job = (new CollectionLocal($url));
     //     dispatch($job);
     // return;
     $this->comment("Collector job staring...");
     $collect_local_main = '';
     $collect_local_sub = '';
     $collect_ord = 1;
     $collect_url = array();
     $collection = Collection::orderby('id', 'desc')->first();
     if (empty($collection->id)) {
         $local = Local::where('ord', 1)->first();
         $collect_local_main = $local->main;
         $collect_local_sub = $local->sub;
     } else {
         $local = Local::where('ord', '>', $collection->ord)->first();
         if (empty($local->id)) {
             $local = Local::where('ord', 1)->first();
         }
         $collect_local_main = $local->main;
         $collect_local_sub = $local->sub;
         $collect_ord = $local->ord;
     }
     //2분단위로 데이터 가져오기 실행
     $keywordSets = Keyword::orderby('ord', 'asc')->get();
     foreach ($keywordSets as $k => $value) {
         $url = 'http://map.naver.com/search2/local.nhn?query=' . urlencode($collect_local_main . '+' . $collect_local_sub . '+' . $value->keyword);
         $job = (new CollectionLocal($url))->delay($k * 120);
         dispatch($job);
     }
     $collection = new Collection();
     $collection->local_main = $collect_local_main;
     $collection->local_sub = $collect_local_sub;
     $collection->ord = $collect_ord;
     $collection->save();
     $this->comment("Collector : [" . $collect_local_main . "/" . $collect_local_sub . "]");
 }