# Shutdown and Draining | Sentry for Python

The default behavior of most SDKs is to send out events over the network asynchronously in the background. This means that some events might be lost if the application shuts down unexpectedly. The SDKs provide mechanisms to cope with this.

The Python SDK automatically drains on shutdown unless the `AtexitIntegration` is removed or the `shutdown_timeout` config key is set to 0. To manually drain the client provides a `close` method:

```python
from sentry_sdk import Hub

client = Hub.current.client
if client is not None:
    client.close(timeout=2.0)
```

After a call to `close`, the client cannot be used anymore. It's important to only call `close` immediately before shutting down the application.

Alternatively, the `flush` method drains the event queue while keeping the client enabled for continued use.
