Best Python code snippet using localstack_python
decorators.py
Source:decorators.py
1import asyncio2import typing as tp3from functools import wraps4from time import sleep5from toolset.typing_helpers import ASYNC_FUNC, FUNC_RESULT, TFunc6def retry( # noqa: WPS231 Found too high function cognitive complexity7 *exceptions: tp.Type[Exception],8 attempts: int = 3,9 wait_time_seconds: float = 0.5,10 backoff: int = 2,11) -> tp.Callable[[TFunc], TFunc]:12 """Try to call a func `attempts` times with `wait_time_seconds` breaks multiplied each time by `backoff`."""13 def _retry(func: TFunc) -> TFunc:14 @wraps(func)15 def _inner(*args, **kwargs) -> FUNC_RESULT:16 exception: Exception = Exception()17 wait = wait_time_seconds18 for _ in range(attempts): # noqa: WPS122 unused variables definition19 try:20 res: FUNC_RESULT = func(*args, **kwargs)21 except exceptions as exc:22 exception = exc23 sleep(wait)24 wait *= backoff25 continue26 break27 else:28 # raise catch exception29 raise exception30 return res31 return tp.cast(TFunc, _inner)32 return _retry33def aio_retry( # noqa: WPS231 Found too high function cognitive complexity34 *exceptions: tp.Type[Exception],35 attempts: int = 3,36 wait_time_seconds: float = 0.5,37 backoff: int = 2,38):39 """Try to call a func `attempts` times with `wait_time_seconds` breaks multiplied each time by `backoff`."""40 def _retry(func: ASYNC_FUNC) -> ASYNC_FUNC:41 @wraps(func)42 async def _inner(*args, **kwargs) -> FUNC_RESULT:43 exception: Exception = Exception()44 wait = wait_time_seconds45 for _ in range(attempts): # noqa: WPS122 unused variables definition46 try:47 res = await func(*args, **kwargs)48 except exceptions as exc:49 exception = exc50 await asyncio.sleep(wait)51 wait *= backoff52 continue53 return res54 # raise catch exception55 raise exception56 return tp.cast(ASYNC_FUNC, _inner)...
qprocessor.py
Source:qprocessor.py
1# Simple Python SQS consumer2# Conor Murphy34import sys56# must install boto3 to use this (pip3 install boto3)7import boto389# get QueueUrl from command line10if len(sys.argv) < 2:11 print('usage: python3 qprocessor.py https://queue_url_here/ out_file_path')12 sys.exit(1)13queue_url=sys.argv[1]14out_file_path=sys.argv[2]1516# client object for SQS17sqs = boto3.client('sqs')1819wait_time_seconds = 12021def print_to_file(line):22 out_file=open(out_file_path,'a')23 print(line, file=out_file)24 out_file.close()2526print_to_file('START')2728while True:29 # receive30 response = sqs.receive_message(QueueUrl=queue_url, WaitTimeSeconds=wait_time_seconds, MaxNumberOfMessages=1)31 wait_time_seconds = 203233 if 'Messages' not in response:34 print('no messages hit Ctrl + Z to exit queue')35 continue3637 # loop over all messages38 for message in response['Messages']:39 40 # do processing work here (example just prints)41 print("received: " + message['Body'])42 print_to_file(message['Body'])43 44 45 # delete once processed46 sqs.delete_message(QueueUrl=queue_url, ReceiptHandle=message['ReceiptHandle'])47
...
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!