Skip to content

Honor TryCount in PublisherQueue FIFO list #472

@selbitschka

Description

@selbitschka

Currently entries of the publisher queue are strictly handled by FIFO. This is reflected in the findDataByPublisherIdAndStatus which use the select

SELECT a FROM PublisherQueueData a WHERE a.publisherId=:publisherId AND a.publishStatus=:publishStatus ORDER BY a.timeCreated DESC

to get data. This means that newest entries are returned first.

Now if you have 10 or more "new" entries in your queue which cannot be published no "older" entry will ever be published using the queue since shouldBreakPublishingOperation in PublisherResult will always fail after the first 10 entries.

My suggestion now is to honor the trycounter in the select and try to publish entries with lower trycounter first. This would lead to a select like

SELECT a FROM PublisherQueueData a WHERE a.publisherId=:publisherId AND a.publishStatus=:publishStatus ORDER BY a.tryCounter, a.timeCreated DESC

This would allow to publish entries with lower trycounter first and do not stall the queue if the newest 10 entries are failing.

Metadata

Metadata

Assignees

No one assigned

    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