Queue factory services do not conform to an interface

Created on 24 January 2024, 10 months ago
Updated 2 September 2024, 3 months ago

Problem/Motivation

There is only one queue backend in core, QueueDatabaseFactory. This provides a get() method which must be implemented for QueueFactory to be able to construct a queue.

Other queue backends presumably implement this as well otherwise the code would not work, but this should be done via an interface.

Adding an interface would also help in the parent issue πŸ“Œ Convert QueueFactory to use a service locator Fixed where we want to inject only queue backend services into QueueFactory; without an interface (or perhaps base class) there is no way of identifying them.

Steps to reproduce

Proposed resolution

Add a QueueFactoryInterface and implement it in QueueDatabaseFactory, similar to CacheFactoryInterface.

Notify contrib queue backends in QueueFactory if the interface is not implemented.

Merge request link

Remaining tasks

User interface changes

API changes

Data model changes

Release notes snippet

πŸ“Œ Task
Status

Fixed

Version

10.2 ✨

Component
CronΒ  β†’

Last updated about 1 month ago

No maintainer
Created by

πŸ‡¬πŸ‡§United Kingdom longwave UK

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Merge Requests

Comments & Activities

Production build 0.71.5 2024