Closed Bug 1080281 Opened 10 years ago Closed 6 years ago

client: Support unbindQueue in PulseListener

Categories

(Taskcluster :: Services, defect)

x86_64
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: jonasfj, Unassigned)

Details

We should support unbinding a queue from an exchange. This might be useful for docker-worker depending on whether or not it reuses workerIds.
This would be useful for the case where we want to stop listening for task-pending messages, but do not want to close the listener because we might be still using the channel. Such as when we do not want to claim anymore tasks, but we want to finish up the tasks we have and ack the message after completion.
@garndt, It agree this would be useful in some cases. But just to clarify, after queue rewrite we should not be listening for task-pending messages in the worker. Also so note that some of these things can be done by listener.pause(). - just trying to minimize confusion :)
Component: TaskCluster → General
Product: Testing → Taskcluster
Component: General → Client Libraries
We'll need this for tc-hooks to listen to pulse..
Assignee: nobody → dustin
Will this need to be implemented for the WebListener in taskcluster-client-web as well?
No, I don't think so -- those are all non-durable queues anyway.
@coop: How is this stability related? @dustin, tc-hooks doesn't strictly need it, it can just delete queue and re-create it. Granted this would cause messages to be dropped. But given that we can't reliably list neither queues or bindings we short of end up with something like that.. We could also used a queue per binding, then this is the same problem as with queues. Which taskcluster-pulse will eventually fix by providing an API for listing queues.
Flags: needinfo?(coop)
Ah, I guess I misunderstood.
I just added all the pulse-related dependencies that got flagged yesterday. If this one isn't going to improve stability, we can drop it as part of that initiative.
No longer blocks: tc-stability
Flags: needinfo?(coop)
Assignee: dustin → nobody
No longer blocks: tc-stability
Hi. I would like to work on this bug. Please help me get started.
Summary: client, event: Support unbindQueue in AMQPListener, PulseListener and WebListener → client, event: Support unbindQueue in PulseListener and WebListener
Jonas, is this going to be taken care of in the GSOC work?
Flags: needinfo?(jopsen)
The idea in GSoC is to drop the unbindQueue stuff, even reconnect from the WebListener, and make it as lot simpler, instead focusing on robustness.
Flags: needinfo?(jopsen)
Summary: client, event: Support unbindQueue in PulseListener and WebListener → client: Support unbindQueue in PulseListener
OK -- and tc-lib-pulse already has unbind.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Component: Client Libraries → Services
You need to log in before you can comment on or make changes to this bug.