You are here

purge.services.yml in Purge 8.3

File

purge.services.yml
View source
  1. services:
  2. # PURGE.LOGGER
  3. #
  4. # Provides logging services to purge and its submodules, via a single channel.
  5. purge.logger:
  6. class: Drupal\purge\Logger\LoggerService
  7. arguments: ['@config.factory', '@purge.logger.parts_factory']
  8. public: true
  9. tags:
  10. - { name: needs_destruction }
  11. purge.logger.parts_factory:
  12. class: Drupal\purge\Logger\LoggerChannelPartFactory
  13. arguments: ['@logger.channel.purge']
  14. public: false
  15. logger.channel.purge:
  16. parent: logger.channel_base
  17. arguments: ['purge']
  18. public: false
  19. # PURGE.QUEUERS
  20. #
  21. # Manages services tagged 'purge_queuer' by exposing them in end-user
  22. # interfaces and allowing users to disable/enable them.
  23. purge.queuers:
  24. class: Drupal\purge\Plugin\Purge\Queuer\QueuersService
  25. arguments: ['@plugin.manager.purge.queuer', '@config.factory']
  26. public: true
  27. plugin.manager.purge.queuer:
  28. class: Drupal\purge\Plugin\Purge\Queuer\PluginManager
  29. parent: default_plugin_manager
  30. public: false
  31. # PURGE.INVALIDATION.FACTORY
  32. #
  33. # The invalidation object factory, generates 'purge instruction' value objects
  34. # on demand. Invalidations have state and flow freely between queue and
  35. # purgers, but can also be instantiated through the factory and get fed to the
  36. # purger straight away.
  37. purge.invalidation.factory:
  38. class: Drupal\purge\Plugin\Purge\Invalidation\InvalidationsService
  39. arguments: ['@plugin.manager.purge.invalidation', '@purge.purgers']
  40. public: true
  41. plugin.manager.purge.invalidation:
  42. class: Drupal\purge\Plugin\Purge\Invalidation\PluginManager
  43. parent: default_plugin_manager
  44. public: false
  45. # PURGE.QUEUE:
  46. #
  47. # The queue service which stores, claims, releases and accepts invalidation
  48. # objects returning from 'purge.purgers'.
  49. purge.queue:
  50. class: Drupal\purge\Plugin\Purge\Queue\QueueService
  51. arguments: ['@plugin.manager.purge.queue', '@purge.logger', '@config.factory', '@purge.queue.txbuffer', '@purge.queue.stats', '@purge.invalidation.factory', '@purge.purgers']
  52. public: true
  53. tags:
  54. - { name: needs_destruction }
  55. purge.queue.txbuffer:
  56. public: true
  57. class: Drupal\purge\Plugin\Purge\Queue\TxBuffer
  58. purge.queue.stats:
  59. class: Drupal\purge\Plugin\Purge\Queue\StatsTracker
  60. arguments: ['@state']
  61. public: true
  62. tags:
  63. - { name: needs_destruction }
  64. plugin.manager.purge.queue:
  65. class: Drupal\purge\Plugin\Purge\Queue\PluginManager
  66. parent: default_plugin_manager
  67. public: false
  68. # PURGE.DIAGNOSTICS:
  69. #
  70. # The diagnostics service which monitors and warns for problematic situations
  71. # that can occur during purging. When it detects severe issues, it will
  72. # prevent all purges in the first place.
  73. purge.diagnostics:
  74. class: Drupal\purge\Plugin\Purge\DiagnosticCheck\DiagnosticsService
  75. arguments: ['@plugin.manager.purge.diagnostics']
  76. public: true
  77. calls:
  78. - [setContainer, ['@service_container']]
  79. plugin.manager.purge.diagnostics:
  80. class: Drupal\purge\Plugin\Purge\DiagnosticCheck\PluginManager
  81. parent: default_plugin_manager
  82. public: false
  83. # PURGE.PROCESSORS
  84. #
  85. # Processors pull items from the queue and initiate purging activity.
  86. purge.processors:
  87. class: Drupal\purge\Plugin\Purge\Processor\ProcessorsService
  88. arguments: ['@plugin.manager.purge.processor', '@config.factory']
  89. public: true
  90. plugin.manager.purge.processor:
  91. class: Drupal\purge\Plugin\Purge\Processor\PluginManager
  92. parent: default_plugin_manager
  93. public: false
  94. # PURGE.PURGERS:
  95. #
  96. # The executive service which lets enabled purgers invalidate external caches.
  97. purge.purgers:
  98. class: Drupal\purge\Plugin\Purge\Purger\PurgersService
  99. arguments: ['@plugin.manager.purge.purgers', '@purge.logger', '@purge.purgers.tracker.capacity', '@purge.purgers.tracker.runtime_measurement', '@config.factory', '@lock', '@purge.diagnostics']
  100. public: true
  101. purge.purgers.tracker.capacity:
  102. class: Drupal\purge\Plugin\Purge\Purger\CapacityTracker
  103. public: true
  104. purge.purgers.tracker.runtime_measurement:
  105. class: Drupal\purge\Plugin\Purge\Purger\RuntimeMeasurementTracker
  106. arguments: ['@state']
  107. public: true
  108. tags:
  109. - { name: needs_destruction }
  110. plugin.manager.purge.purgers:
  111. class: Drupal\purge\Plugin\Purge\Purger\PluginManager
  112. parent: default_plugin_manager
  113. public: false
  114. # PURGE.TAGSHEADERS
  115. #
  116. # Discovered tagsheader plugins, register required response headers using the
  117. # CacheableResponseSubscriber declared below. Each plugin defines the name
  118. # of the header to be send out and can override header value formatting.
  119. purge.tagsheaders:
  120. class: Drupal\purge\Plugin\Purge\TagsHeader\TagsHeadersService
  121. arguments: ['@plugin.manager.purge.tagsheader']
  122. public: true
  123. calls:
  124. - [setContainer, ['@service_container']]
  125. purge.tagsheaders.cacheable_response_subscriber:
  126. class: Drupal\purge\EventSubscriber\CacheableResponseSubscriber
  127. arguments: ['@purge.tagsheaders']
  128. public: true
  129. tags:
  130. - { name: event_subscriber }
  131. plugin.manager.purge.tagsheader:
  132. class: Drupal\purge\Plugin\Purge\TagsHeader\PluginManager
  133. parent: default_plugin_manager
  134. public: false

Services

Namesort descending Description
logger.channel.purge
plugin.manager.purge.diagnostics Drupal\purge\Plugin\Purge\DiagnosticCheck\PluginManager
plugin.manager.purge.invalidation Drupal\purge\Plugin\Purge\Invalidation\PluginManager
plugin.manager.purge.processor Drupal\purge\Plugin\Purge\Processor\PluginManager
plugin.manager.purge.purgers Drupal\purge\Plugin\Purge\Purger\PluginManager
plugin.manager.purge.queue Drupal\purge\Plugin\Purge\Queue\PluginManager
plugin.manager.purge.queuer Drupal\purge\Plugin\Purge\Queuer\PluginManager
plugin.manager.purge.tagsheader Drupal\purge\Plugin\Purge\TagsHeader\PluginManager
purge.diagnostics Drupal\purge\Plugin\Purge\DiagnosticCheck\DiagnosticsService
purge.invalidation.factory Drupal\purge\Plugin\Purge\Invalidation\InvalidationsService
purge.logger Drupal\purge\Logger\LoggerService
purge.logger.parts_factory Drupal\purge\Logger\LoggerChannelPartFactory
purge.processors Drupal\purge\Plugin\Purge\Processor\ProcessorsService
purge.purgers Drupal\purge\Plugin\Purge\Purger\PurgersService
purge.purgers.tracker.capacity Drupal\purge\Plugin\Purge\Purger\CapacityTracker
purge.purgers.tracker.runtime_measurement Drupal\purge\Plugin\Purge\Purger\RuntimeMeasurementTracker
purge.queue Drupal\purge\Plugin\Purge\Queue\QueueService
purge.queue.stats Drupal\purge\Plugin\Purge\Queue\StatsTracker
purge.queue.txbuffer Drupal\purge\Plugin\Purge\Queue\TxBuffer
purge.queuers Drupal\purge\Plugin\Purge\Queuer\QueuersService
purge.tagsheaders Drupal\purge\Plugin\Purge\TagsHeader\TagsHeadersService
purge.tagsheaders.cacheable_response_subscriber Drupal\purge\EventSubscriber\CacheableResponseSubscriber