- Issue created by @josephr5000@yahoo.com
Updated the remaining tasks since fix and MR are done.
- Issue was unassigned.
- Status changed to Needs review
19 days ago 5:38pm 18 March 2025 - πΊπΈUnited States AaronBauman Philadelphia
Yes, the whole queue system needs an overhaul.
Ideally, each mapping would define its own derivative, so that we can continue to use the per-mapping settings we have now.
We probably still need a custom database backend for the push queue, but I don't think we actually need the custom PushQueueProcessorInterface.
Probably would be useful to have a custom database backed for pull queue as well.Anyway, thank you for the patch - this looks fine and good.
I'm hesitant to merge it because I don't really want to go down the rabbit hole of supporting a views integration in the short and medium term if we're looking towards this longer term change. Thanks Aaron, and I agree this isn't the right solution...it's an expedient workaround. I agree it should not be merged.
Curious about one item in your comment. Wondering why the current pull queue back-end (the default database queue) wouldn't also work for the push queue? That way you get all the nice Drupal queue UI for free.
- πΊπΈUnited States AaronBauman Philadelphia
One reason is to dedupe the queue entries.
This is happening already in Push Queue, but not Pull Queue.Since the core database queue serializes all the data, there's no simple way to dedupe without loading every single queue item.
Not feasible.For this same reason, I think Pull Queue should also be converted to a custom backend.
Another reason - not currently happening for push queue, but again not feasible with core queue - is so that queue items can be batched to minimize API usage.
Aaron, thanks for the clarification.
Aside-- advancedqueue added deduplication support. Not sure if that meets your needs but am wondering if it's a way for you to lower the amount of custom queue code (and associated admin UI) required in this module.
- πΊπΈUnited States AaronBauman Philadelphia
oh nice, https://www.drupal.org/project/advancedqueue β might do the trick
i'm all about maintaining less code whenever possible