/** * 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 . "]"); }