You are here

class MessageQueueCreator in Open Social 8

Same name and namespace in other branches
  1. 8.9 modules/custom/activity_logger/src/Plugin/QueueWorker/MessageQueueCreator.php \Drupal\activity_logger\Plugin\QueueWorker\MessageQueueCreator
  2. 8.2 modules/custom/activity_logger/src/Plugin/QueueWorker/MessageQueueCreator.php \Drupal\activity_logger\Plugin\QueueWorker\MessageQueueCreator
  3. 8.3 modules/custom/activity_logger/src/Plugin/QueueWorker/MessageQueueCreator.php \Drupal\activity_logger\Plugin\QueueWorker\MessageQueueCreator
  4. 8.4 modules/custom/activity_logger/src/Plugin/QueueWorker/MessageQueueCreator.php \Drupal\activity_logger\Plugin\QueueWorker\MessageQueueCreator
  5. 8.5 modules/custom/activity_logger/src/Plugin/QueueWorker/MessageQueueCreator.php \Drupal\activity_logger\Plugin\QueueWorker\MessageQueueCreator
  6. 8.6 modules/custom/activity_logger/src/Plugin/QueueWorker/MessageQueueCreator.php \Drupal\activity_logger\Plugin\QueueWorker\MessageQueueCreator
  7. 8.7 modules/custom/activity_logger/src/Plugin/QueueWorker/MessageQueueCreator.php \Drupal\activity_logger\Plugin\QueueWorker\MessageQueueCreator
  8. 8.8 modules/custom/activity_logger/src/Plugin/QueueWorker/MessageQueueCreator.php \Drupal\activity_logger\Plugin\QueueWorker\MessageQueueCreator
  9. 10.3.x modules/custom/activity_logger/src/Plugin/QueueWorker/MessageQueueCreator.php \Drupal\activity_logger\Plugin\QueueWorker\MessageQueueCreator
  10. 10.0.x modules/custom/activity_logger/src/Plugin/QueueWorker/MessageQueueCreator.php \Drupal\activity_logger\Plugin\QueueWorker\MessageQueueCreator
  11. 10.1.x modules/custom/activity_logger/src/Plugin/QueueWorker/MessageQueueCreator.php \Drupal\activity_logger\Plugin\QueueWorker\MessageQueueCreator
  12. 10.2.x modules/custom/activity_logger/src/Plugin/QueueWorker/MessageQueueCreator.php \Drupal\activity_logger\Plugin\QueueWorker\MessageQueueCreator

A report worker.

@QueueWorker( id = "activity_logger_message", title = @Translation("Process activity_logger_message queue."), cron = {"time" = 60} )

This QueueWorker is responsible for creating message items from the queue

Hierarchy

Expanded class hierarchy of MessageQueueCreator

File

modules/custom/activity_logger/src/Plugin/QueueWorker/MessageQueueCreator.php, line 18

Namespace

Drupal\activity_logger\Plugin\QueueWorker
View source
class MessageQueueCreator extends MessageQueueBase {

  /**
   * {@inheritdoc}
   */
  public function processItem($data) {

    // First make sure it's an actual entity.
    if ($entity = Node::load($data['entity_id'])) {

      // Check if it's created more than 20 seconds ago.
      $timestamp = $entity
        ->getCreatedTime();

      // Current time.
      $now = time();
      $diff = abs($now - $timestamp);

      // Items must be at least 5 seconds old.
      if ($diff <= 5 && $now > $timestamp) {

        // Wait for 100 milliseconds.
        // We don't want to flood the DB with unprocessable queue items.
        usleep(100000);
        $queue = \Drupal::queue('activity_logger_message');
        $queue
          ->createItem($data);
      }
      else {
        $activity_logger_factory = \Drupal::service('plugin.manager.activity_action.processor');

        // Trigger the create action for enttites.
        $create_action = $activity_logger_factory
          ->createInstance('create_entitiy_action');
        $create_action
          ->createMessage($entity);
      }
    }
  }

}

Members

Namesort descending Modifiers Type Description Overrides
MessageQueueBase::createQueueItem protected function Simple reporter log and display information about the queue.
MessageQueueCreator::processItem public function Works on a single queue item. Overrides QueueWorkerInterface::processItem
PluginBase::$configuration protected property Configuration information passed into the plugin. 1
PluginBase::$pluginDefinition protected property The plugin implementation definition. 1
PluginBase::$pluginId protected property The plugin_id.
PluginBase::DERIVATIVE_SEPARATOR constant A string which is used to separate base plugin IDs from the derivative ID.
PluginBase::getBaseId public function Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface::getBaseId
PluginBase::getDerivativeId public function Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface::getDerivativeId
PluginBase::getPluginDefinition public function Gets the definition of the plugin implementation. Overrides PluginInspectionInterface::getPluginDefinition 3
PluginBase::getPluginId public function Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface::getPluginId
PluginBase::isConfigurable public function Determines if the plugin is configurable.
PluginBase::__construct public function Constructs a \Drupal\Component\Plugin\PluginBase object. 92