default TTL for queued messages to infinite (#259)

This commit is contained in:
bmc-msft
2020-11-04 15:41:05 -05:00
committed by GitHub
parent 600b3efdf7
commit b5578381ce

View File

@ -23,6 +23,8 @@ from .creds import get_storage_account_name_key
QueueNameType = Union[str, UUID] QueueNameType = Union[str, UUID]
DEFAULT_TTL = -1
@cached(ttl=60) @cached(ttl=60)
def get_queue_client(account_id: str) -> QueueServiceClient: def get_queue_client(account_id: str) -> QueueServiceClient:
@ -102,11 +104,17 @@ def send_message(
message: bytes, message: bytes,
*, *,
account_id: str, account_id: str,
visibility_timeout: Optional[int] = None,
time_to_live: int = DEFAULT_TTL,
) -> None: ) -> None:
queue = get_queue(name, account_id=account_id) queue = get_queue(name, account_id=account_id)
if queue: if queue:
try: try:
queue.send_message(base64.b64encode(message).decode()) queue.send_message(
base64.b64encode(message).decode(),
visibility_timeout=visibility_timeout,
time_to_live=time_to_live,
)
except ResourceNotFoundError: except ResourceNotFoundError:
pass pass
@ -163,6 +171,7 @@ def queue_object(
*, *,
account_id: str, account_id: str,
visibility_timeout: Optional[int] = None, visibility_timeout: Optional[int] = None,
time_to_live: int = DEFAULT_TTL,
) -> bool: ) -> bool:
queue = get_queue(name, account_id=account_id) queue = get_queue(name, account_id=account_id)
if not queue: if not queue:
@ -170,7 +179,9 @@ def queue_object(
encoded = base64.b64encode(message.json(exclude_none=True).encode()).decode() encoded = base64.b64encode(message.json(exclude_none=True).encode()).decode()
try: try:
queue.send_message(encoded, visibility_timeout=visibility_timeout) queue.send_message(
encoded, visibility_timeout=visibility_timeout, time_to_live=time_to_live
)
return True return True
except ResourceNotFoundError: except ResourceNotFoundError:
return False return False