Exemplo n.º 1
0
 /**
  * Check for not-updated-today, not-deleted  keywords
  * And set for rank update if exist
  * 
  * daily
  */
 public function queue_keywords_for_update()
 {
     $keyword_rank = new Keyword_rank();
     $keyword_rank_ids = $keyword_rank->where('date', date('Y-m-d'))->get()->all_to_single_array('keyword_id');
     if (empty($keyword_rank_ids)) {
         $keyword_rank_ids = array(0);
     }
     $keywords = new Keyword();
     $keywords->where('is_deleted', 0)->where_not_in('id', $keyword_rank_ids)->get();
     if (!$keywords->exists()) {
         log_message('CRON_ERROR', __FUNCTION__ . ' > ' . 'No keywords for rank update');
         return;
     }
     $acc = $this->getAAC();
     foreach ($keywords as $keyword) {
         $user = new User($keyword->user_id);
         if (!$user->exists()) {
             continue;
         }
         $acc->setUser($user);
         if (!$acc->isGrantedPlan('local_search_keyword_tracking')) {
             continue;
         }
         $args = $keyword->to_array();
         $this->jobQueue->addJob('tasks/google_rank_task/grabber', $args, array('thread' => self::GOOGLE_RANK_THREAD));
     }
     $ids_str = implode(', ', array_values($keywords->all_to_single_array('id')));
     log_message('CRON_SUCCESS', __FUNCTION__ . ' > ' . 'Keywords for rank update ids: ' . $ids_str);
     return;
 }
Exemplo n.º 2
0
 public function hourly_queue_keywords_for_update()
 {
     $keyword_rank = new Keyword_rank();
     $keyword_rank_ids = $keyword_rank->where('date', date('Y-m-d'))->get()->all_to_single_array('keyword_id');
     if (empty($keyword_rank_ids)) {
         $keyword_rank_ids = array(0);
     }
     $keywords = new Keyword();
     $keywords->where('is_deleted', 0)->where_not_in('id', $keyword_rank_ids)->get();
     if (!$keywords->exists()) {
         // log_message('CRON_ERROR', __FUNCTION__ . ' > ' . 'No keywords for rank update');
         exit;
     }
     $all_args = array();
     foreach ($keywords as $keyword) {
         $args = $keyword->to_array();
         $all_args[] = $args;
     }
     foreach ($all_args as $keyword_array) {
         try {
             $this->hourly_queue_keywords_for_update_single($keyword_array);
         } catch (Exception $e) {
             echo "Error " . $e->getMessage() . "\n";
         }
     }
     $ids_str = implode(', ', array_values($keywords->all_to_single_array('id')));
     log_message('CRON_SUCCESS', __FUNCTION__ . ' > ' . 'Keywords for rank update ids: ' . $ids_str);
     exit;
 }