Не работает Drupal cronjob из couchbase в MySQL

#mysql #drupal #cron #couchbase #php-5.6

#mysql #drupal #cron #couchbase #php-5.6

Вопрос:

Я пытаюсь выполнить синхронизацию с сервера Couchbase на MySQL с помощью Drupal cronjob

Я пытаюсь синхронизировать документы из Couchbase в MySQL, но я не могу этого сделать, вышеуказанная операция выполняется с cronjob (Drupal)

 function drupal_cron()
 {
   $cluster = new CouchbaseCluster("couchbase://localhost");
   $cluster->authenticateAs('Admin', 'password');
   $bucket = $cluster->openBucket("default");
   $query = CouchbaseViewQuery::from('drupal', 'id')->reduce(false)->order(CouchbaseViewQuery::ORDER_DESCENDING);
   var_dump($query); // getting data till here
   $results = $bucket->query($query); // not going past this
   var_dump($results); // no data here
   foreach($results->rows as $row) //not going in the foreach loop because no data in $results
     { 
      $doc_id = $row->id;
      $doc = $bucket->get($doc_id);

      // $doc = json_decode($doc->value);

      $doc = $doc->value;
      if ($doc->drupal_status == 'pending')
        {
          sync_code_here
        }
   }
 }
  

Вывод var_dump($ query)

 object(CouchbaseViewQuery)#108 (3) 
{ 
  ["designDocumentName"]=> string(8) "drupal"
  ["viewName"]=> string(2) "id"
  ["options"]=> array(2)
    {
      ["reduce"]=> string(5) "false"
      ["descending"]=> string(4) "true"
    }
 }
  

Пожалуйста, помогите

Как мне это исправить?

Ответ №1:

Мне нужно было создать новый документ дизайна под названием «Drupal» и новое представление под названием «id» на сервере Couchbase, чтобы сопоставить и подтвердить это

  $query = CouchbaseViewQuery::from('drupal', 'id')->reduce(false)->order(CouchbaseViewQuery::ORDER_DESCENDING);
  

После этого все заработало как по волшебству.