cmlapi-8.x-1.2/src/Service/CmlCounter.php

src/Service/CmlCounter.php
<?php

namespace Drupal\cmlapi\Service;

/**
 * Class Cml Exchange Counter.
 */
class CmlCounter {

  /**
   * Exchange Counter In Status New.
   */
  public function exchangeCounterInStatusNew() {
    // установлен ли syncloud.
    if (!\Drupal::service('module_handler')->moduleExists('syncloud')) {
      return;
    }
    // Uuid сайта, присваивается синклаудом при первой инициализации.
    $uuid = \Drupal::state()->get('syncloud.uuid');
    // домен сайта.
    $http_host = \Drupal::request()->getSchemeAndHttpHost();
    $service = \Drupal::service('cmlapi.cml');
    $cmllist = $service->new();
    $last_cml = $service->queryLastCml();

    // 'В очереди собралось ' . $counter . ' обменов со статусом new'
    $counter = count($cmllist);

    $msg = [
      'type' => 'cml-exchange',
      'last_created' => $last_cml[0]->created ?? '',
      'host' => \Drupal::request()->getHost(),
      'http_host' => $http_host,
      'counter' => $counter,
      'last_cml' => $last_cml,
    ];
    \Drupal::service('syncloud.mqtt')->run()->publish("\$cmlapi/counter/$uuid", json_encode($msg));
    // dsm('отправил');.
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc