Skip to content

Rework scheduling systems #5

@svix-daniel

Description

@svix-daniel

As of present, scheduling is provided by an additional set of traits only implemented by the SqsQueueBackend as it is the only one of the bunch which supports delays out of the box (although RabbitMQ supports it with an extension).

I am hoping to rework things slightly to be able to better support "schedulers" which can be tacked onto any queue and take over anything with a delay. This would allow schemes like using PostgreSQL or Redis sorted sets to track delayed items, and to frequently move all ready items into the main queue via a background task. Then the ScheduledProducer and ScheduledBackend traits can be implemented for a generic wrapper over any queue and scheduler.

This is necessary over the current implementation due to the need to be able to add additional conversion logic in order to bridge the gap between the internal data representation of the scheduler and of the queue.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions