5656class SqsMessage :
5757 message : Message
5858 created : float
59- visibility_timeout : int
59+ visibility_timeout : int | None
6060 receive_count : int
6161 delay_seconds : int | None
6262 receipt_handles : set [str ]
@@ -65,9 +65,7 @@ class SqsMessage:
6565 visibility_deadline : float | None
6666 deleted : bool
6767 priority : float
68- message_deduplication_id : str
69- message_group_id : str
70- sequence_number : str
68+ sequence_number : str | None
7169
7270 def __init__ (
7371 self ,
@@ -85,6 +83,7 @@ def __init__(
8583 self .delay_seconds = None
8684 self .last_received = None
8785 self .first_received = None
86+ self .visibility_timeout = None
8887 self .visibility_deadline = None
8988 self .deleted = False
9089 self .priority = priority
@@ -270,28 +269,36 @@ class MessageMoveTask:
270269 # configurable fields
271270 source_arn : str
272271 """The arn of the DLQ the messages are currently in."""
273- destination_arn : str | None = None
272+ destination_arn : str
274273 """If the DestinationArn is not specified, the original source arn will be used as target."""
275- max_number_of_messages_per_second : int | None = None
274+ max_number_of_messages_per_second : int | None
276275
277276 # dynamic fields
278277 task_id : str
279- status : str = MessageMoveTaskStatus . CREATED
280- started_timestamp : datetime | None = None
281- approximate_number_of_messages_moved : int | None = None
282- approximate_number_of_messages_to_move : int | None = None
283- failure_reason : str | None = None
278+ status : str
279+ started_timestamp : datetime | None
280+ approximate_number_of_messages_moved : int | None
281+ approximate_number_of_messages_to_move : int | None
282+ failure_reason : str | None
284283
285284 cancel_event : threading .Event
286285
287286 def __init__ (
288- self , source_arn : str , destination_arn : str , max_number_of_messages_per_second : int = None
287+ self ,
288+ source_arn : str ,
289+ destination_arn : str ,
290+ max_number_of_messages_per_second : int | None = None ,
289291 ):
290292 self .task_id = long_uid ()
291293 self .source_arn = source_arn
292294 self .destination_arn = destination_arn
293295 self .max_number_of_messages_per_second = max_number_of_messages_per_second
294296 self .cancel_event = threading .Event ()
297+ self .status = MessageMoveTaskStatus .CREATED
298+ self .started_timestamp = None
299+ self .approximate_number_of_messages_moved = None
300+ self .approximate_number_of_messages_to_move = None
301+ self .failure_reason = None
295302
296303 def mark_started (self ):
297304 self .started_timestamp = datetime .utcnow ()
@@ -318,6 +325,7 @@ class SqsQueue:
318325 # Simulating an ordered set in python. Only the keys are used and of interest.
319326 inflight : dict [SqsMessage , None ]
320327 receipts : dict [str , SqsMessage ]
328+ mutex : threading .RLock
321329
322330 def __init__ (self , name : str , region : str , account_id : str , attributes = None , tags = None ) -> None :
323331 self .name = name
@@ -1374,7 +1382,7 @@ def clear(self):
13741382
13751383
13761384class SqsStore (BaseStore ):
1377- queues : dict [str , SqsQueue ] = LocalAttribute (default = dict )
1385+ queues : dict [str , FifoQueue | StandardQueue ] = LocalAttribute (default = dict )
13781386
13791387 deleted : dict [str , float ] = LocalAttribute (default = dict )
13801388
0 commit comments