MySQL has some "Server System Variables".
One of these is wait_timeout, which has the value 28800 seconds as default.
Look at http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_wait_timeout for more information about wait_timeout.
wait_timeout is the number of seconds the server waits for activity on a non interactive connection before closing it.
Unfortunately, the server doesn't tell the client whether the connection is closed so that the client will use a closed connection which throws an error
You can increase the value of wait_timeout in the mysql configuration file (my.cnf). to avoid the problem but then you can get problems with the max. number of connections.
A workaround in the JobScheduler is to configure a job with a repeat interval in its schedule which is shorter than the wait_timeout value.
For example you can use the scheduler_dequeue_mail job in ./config/live/sos/housekeeping/scheduler_dequeue_mail.job.xml.