Missing timeout on a select() to a crashed MariaDB
Ok, I found that using mysqlclient instead of PyMySQL I can pass a `connect_timeout` option to `MySQLDatabase` that works as expected. >I can pass a connect_timeout option to MySQLDatabase that works as expected.

Perfect.
Hi,
I'm connecting to a crashed MariaDB 10.5, the log says:
```Dec 01 20:31:29 db2 mysqld[683]: max_threads=102
Dec 01 20:31:29 db2 mysqld[683]: thread_count=3
Dec 01 20:31:29 db2 mysqld[683]: It is possible that mysqld could use up to
Dec 01 20:31:29 db2 mysqld[683]: key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 760299 K  bytes of memory
Dec 01 20:31:29 db2 mysqld[683]: Hope that's ok; if not, decrease some variables in the equation.
Dec 01 20:31:29 db2 mysqld[683]: Thread pointer: 0x7f5d9c5cb308
Dec 01 20:31:29 db2 mysqld[683]: Attempting backtrace. You can use the following information to find out
Dec 01 20:31:29 db2 mysqld[683]: where mysqld died. If you see no messages after this, something went
Dec 01 20:31:29 db2 mysqld[683]: terribly wrong...
Dec 01 20:31:29 db2 mysqld[683]: stack_bottom = 0x7f5da0132d58 thread_stack 0x49000
```
In this situation, a Model.select() seems to block indefinitely.

I'd like to be able to set a timeout, so that my application could point out that something bad happened to the DB.

I investigated a bit on this, and found that maybe I could use something like this: https://stackoverflow.com/questions/492519/timeout-on-a-function-call/494273#494273 , but I'm not sure how I could use this approach, maybe a decorator?

Or maybe I'm missing something here, I'm definitely not an expert in DB handling.

Thank you, cheers