Page MenuHomeDevCentral

Implement /delivery/unregister_consumer API method
ClosedPublic

Authored by dereckson on May 30 2017, 22:31.
Tags
None
Referenced Files
F7120515: D992.id2549.diff
Mon, Apr 21, 01:17
F7112850: D992.diff
Sun, Apr 20, 21:59
F7107973: D992.diff
Sun, Apr 20, 20:03
F7102607: D992.id2550.diff
Sun, Apr 20, 18:08
F7089627: D992.id.diff
Sun, Apr 20, 13:24
F7079152: D992.id2549.diff
Sun, Apr 20, 08:34
F7078937: D992.id2536.diff
Sun, Apr 20, 08:30
Unknown Object (File)
Sun, Apr 20, 03:32
Subscribers
None

Details

Summary

This API method deletes a queue.

Ref T1210

Test Plan

Post a JSON payload to http://localhost:5000/delivery/unregister_consumer

{
	"key": "b94c656b-5ee6-4135-8b8b-a787ef5ab5a6"
}

The queue delivery-b94c656b-5ee6-4135-8b8b-a787ef5ab5a6 was well deleted.

Diff Detail

Repository
rND Delivery API for Notifications center
Lint
Lint Passed
Unit
No Test Coverage
Branch
unregister_consumer
Build Status
Buildable 1558
Build 1806: arc lint + arc unit

Event Timeline

dereckson added inline comments.
app.py
147

If we wish to ask the server to take care of the empty logic instead of doing it ourselves:

def delete_broker_queue(queue_name, force_queue_deletion):
    …
    channel.queue_delete(queue=queue_name, is_empty=not force_queue_deletion)
    …
167

Perhaps not needed (excepted if there is a use case for a /count), as server handles deletion only if empty).

218

According the spec, we can ask the server to take care of this check. See https://www.rabbitmq.com/amqp-0-9-1-reference.html#queue.delete.if-empty

So that would mean:

delete_broker_queue(queue, force_delete)
dereckson marked 3 inline comments as done.
dereckson edited edge metadata.

Trust broker to handle empty / not empty queue state.

This revision is now accepted and ready to land.Jul 5 2017, 23:04
This revision was automatically updated to reflect the committed changes.