Add claim_messages and delete_messages zaqar actions

Change-Id: I8d979439ada3c646f50d4e878bb0a6ab6edeca69
Partial-Bug: 1733633
This commit is contained in:
Honza Pokorny 2018-01-26 15:12:44 -04:00
parent 31292fed8c
commit 78c78ce276
2 changed files with 37 additions and 0 deletions

View File

@ -501,6 +501,41 @@ class ZaqarAction(base.OpenStackAction):
return queue.pop(count)
@staticmethod
def claim_messages(client, queue_name, **params):
"""Claim messages from the queue
:param client: the Zaqar client
:type client: zaqarclient.queues.client
:param queue_name: Name of the target queue.
:type queue_name: `six.string_type`
:returns: List of claims
:rtype: `list`
"""
queue = client.queue(queue_name)
return queue.claim(**params)
@staticmethod
def delete_messages(client, queue_name, messages):
"""Delete messages from the queue
:param client: the Zaqar client
:type client: zaqarclient.queues.client
:param queue_name: Name of the target queue.
:type queue_name: `six.string_type`
:param messages: List of messages' ids to delete.
:type messages: *args of `six.string_type`
:returns: List of messages' ids that have been deleted
:rtype: `list`
"""
queue = client.queue(queue_name)
return queue.delete_messages(*messages)
class BarbicanAction(base.OpenStackAction):

View File

@ -979,6 +979,8 @@
},
"zaqar": {
"_comment": "It uses zaqarclient.v2.",
"claim_messages": "claim_messages",
"delete_messages": "delete_messages",
"queue_messages": "queue_messages",
"queue_post": "queue_post",
"queue_pop": "queue_pop"