Esto probablemente sucede porque su solicitud de CURL está tardando más que el tiempo de espera de conexión de mysql
ya sea 1) establezca un tiempo de espera de solicitud para CURL para que muera antes en caso de errores (CURLOPT_CONNECTTIMEOUT es solo para conexiones; CURLOPT_TIMEOUT es para la duración total de la solicitud y se detendrá si el servidor no responde a tiempo) 2) suba el tiempos de inactividad de mysql para evitar que el servidor lo desconecte por no enviar consultas
3) detectar el error y volver a conectarse automáticamente a mysql
mysql> show variables like "%timeout%";
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| connect_timeout | 5 |
| delayed_insert_timeout | 300 |
| innodb_lock_wait_timeout | 50 |
| interactive_timeout | 28800 |
| net_read_timeout | 30 |
| net_write_timeout | 60 |
| slave_net_timeout | 3600 |
| table_lock_wait_timeout | 50 |
| wait_timeout | 28800 |
+--------------------------+-------+
9 rows in set (0.00 sec)
wait_timeout y interactive_timeout son los dos que te interesan