v1/web/modules/contrib/purge/purge.services.yml

143 lines
5.1 KiB
YAML

services:
# PURGE.LOGGER
#
# Provides logging services to purge and its submodules, via a single channel.
purge.logger:
class: Drupal\purge\Logger\LoggerService
arguments: ['@config.factory', '@purge.logger.parts_factory']
public: true
tags:
- { name: needs_destruction }
purge.logger.parts_factory:
class: Drupal\purge\Logger\LoggerChannelPartFactory
arguments: ['@logger.channel.purge']
public: false
logger.channel.purge:
parent: logger.channel_base
arguments: ['purge']
public: false
# PURGE.QUEUERS
#
# Manages services tagged 'purge_queuer' by exposing them in end-user
# interfaces and allowing users to disable/enable them.
purge.queuers:
class: Drupal\purge\Plugin\Purge\Queuer\QueuersService
arguments: ['@plugin.manager.purge.queuer', '@config.factory']
public: true
plugin.manager.purge.queuer:
class: Drupal\purge\Plugin\Purge\Queuer\PluginManager
parent: default_plugin_manager
public: false
# PURGE.INVALIDATION.FACTORY
#
# The invalidation object factory, generates 'purge instruction' value objects
# on demand. Invalidations have state and flow freely between queue and
# purgers, but can also be instantiated through the factory and get fed to the
# purger straight away.
purge.invalidation.factory:
class: Drupal\purge\Plugin\Purge\Invalidation\InvalidationsService
arguments: ['@plugin.manager.purge.invalidation', '@purge.purgers']
public: true
plugin.manager.purge.invalidation:
class: Drupal\purge\Plugin\Purge\Invalidation\PluginManager
parent: default_plugin_manager
public: false
# PURGE.QUEUE:
#
# The queue service which stores, claims, releases and accepts invalidation
# objects returning from 'purge.purgers'.
purge.queue:
class: Drupal\purge\Plugin\Purge\Queue\QueueService
arguments: ['@plugin.manager.purge.queue', '@purge.logger', '@config.factory', '@purge.queue.txbuffer', '@purge.queue.stats', '@purge.invalidation.factory', '@purge.purgers']
public: true
tags:
- { name: needs_destruction }
purge.queue.txbuffer:
public: true
class: Drupal\purge\Plugin\Purge\Queue\TxBuffer
purge.queue.stats:
class: Drupal\purge\Plugin\Purge\Queue\StatsTracker
arguments: ['@state']
public: true
tags:
- { name: needs_destruction }
plugin.manager.purge.queue:
class: Drupal\purge\Plugin\Purge\Queue\PluginManager
parent: default_plugin_manager
public: false
# PURGE.DIAGNOSTICS:
#
# The diagnostics service which monitors and warns for problematic situations
# that can occur during purging. When it detects severe issues, it will
# prevent all purges in the first place.
purge.diagnostics:
class: Drupal\purge\Plugin\Purge\DiagnosticCheck\DiagnosticsService
arguments: ['@plugin.manager.purge.diagnostics']
public: true
calls:
- [setContainer, ['@service_container']]
plugin.manager.purge.diagnostics:
class: Drupal\purge\Plugin\Purge\DiagnosticCheck\PluginManager
parent: default_plugin_manager
public: false
# PURGE.PROCESSORS
#
# Processors pull items from the queue and initiate purging activity.
purge.processors:
class: Drupal\purge\Plugin\Purge\Processor\ProcessorsService
arguments: ['@plugin.manager.purge.processor', '@config.factory']
public: true
plugin.manager.purge.processor:
class: Drupal\purge\Plugin\Purge\Processor\PluginManager
parent: default_plugin_manager
public: false
# PURGE.PURGERS:
#
# The executive service which lets enabled purgers invalidate external caches.
purge.purgers:
class: Drupal\purge\Plugin\Purge\Purger\PurgersService
arguments: ['@plugin.manager.purge.purgers', '@purge.logger', '@purge.purgers.tracker.capacity', '@purge.purgers.tracker.runtime_measurement', '@config.factory', '@lock', '@purge.diagnostics']
public: true
purge.purgers.tracker.capacity:
class: Drupal\purge\Plugin\Purge\Purger\CapacityTracker
public: true
purge.purgers.tracker.runtime_measurement:
class: Drupal\purge\Plugin\Purge\Purger\RuntimeMeasurementTracker
arguments: ['@state']
public: true
tags:
- { name: needs_destruction }
plugin.manager.purge.purgers:
class: Drupal\purge\Plugin\Purge\Purger\PluginManager
parent: default_plugin_manager
public: false
# PURGE.TAGSHEADERS
#
# Discovered tagsheader plugins, register required response headers using the
# CacheableResponseSubscriber declared below. Each plugin defines the name
# of the header to be send out and can override header value formatting.
purge.tagsheaders:
class: Drupal\purge\Plugin\Purge\TagsHeader\TagsHeadersService
arguments: ['@plugin.manager.purge.tagsheader']
public: true
calls:
- [setContainer, ['@service_container']]
purge.tagsheaders.cacheable_response_subscriber:
class: Drupal\purge\EventSubscriber\CacheableResponseSubscriber
arguments: ['@purge.tagsheaders']
public: true
tags:
- { name: event_subscriber }
plugin.manager.purge.tagsheader:
class: Drupal\purge\Plugin\Purge\TagsHeader\PluginManager
parent: default_plugin_manager
public: false