### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

I created an SQS FIFO queue with content based deduplication and sent a message that contains the same messageBody and attributes twice.

The message gets sent and received by the queue twice.

Im using the latest version of localstack with docker-compose.


### Expected Behavior

When ContetBasedDeduplication is set to true a message with the same body should only be recieved once by the queue during the 5 minute deduplication interval.

### How are you starting LocalStack?

With a docker-compose file

### Steps To Reproduce

create queue
```
sqs_client.create_queue(
            QueueName='my_queue.fifo',
            Attributes={
                'FifoQueue': 'true',
                'ContentBasedDeduplication': 'true'
            },
        )
```

send message
```
item = {'hello': 'hola'}
sqs_client.send_message(
            QueueUrl='my_queue.fifo',
            MessageBody=json.dumps(item),
            MessageAttributes= {'hello': {'StringValue': 'hola', 'DataType': 'String'}},
            MessageGroupId='group-1'
        )
```





### Environment

```markdown
- OS:Ubuntu 20.04
- LocalStack: latest
```


### Anything else?

_No response_
"""
    Regularly re-queues inflight messages whose visibility timeout has expired.
    FIXME: very crude implementation. it would be better to have event-driven communication.
    """
    def __init__(self) -> None:
        super().__init__()
        self.running = False
        self.thread: Optional[FuncThread] = None
    def start(self):
        if self.thread:
            return
        def _run(*_args):
            self.running = True
            self.run()
        self.thread = start_thread(_run)
    def stop(self):
        if self.thread:
            self.thread.stop()
        self.running = False
        self.thread = None
    def run(self):
        while self.running:
            time.sleep(1)
            for region in SqsBackend.regions().keys():
                backend = SqsBackend.get(region)
                for queue in backend.queues.values():
                    queue.requeue_inflight_messages()
def check_attributes(message_attributes: MessageBodyAttributeMap):