[wp-hackers] Database connection drops
david at wordshell.net
Tue Dec 10 08:59:43 UTC 2013
It's amazing how slow some people's web hosting is. I'm currently
looking at a log file of a backup of a site which takes over an hour to
create a single 150Mb zip file (which does have 26,000 files in it).
It appears that after somewhere around 3000 seconds, the database
connection is dropped, and all commands that result in talking to the
database silently fail. For example, this returns no results:
$all_tables = $wpdb->get_results("SHOW TABLES", ARRAY_N);
As another example, the option which my code is using to save its state
isn't updated after that time. The saved state is out-of-date. (At this
point, that's not a huge problem, as I have lots of checks and balances).
If I use the scheduler to schedule a restart of the task a few seconds
later, then everything works. $wpdb isn't getting over-written, as that
would lead to fatal errors for methods not found instead of silent failure.
Has anyone come across something like that before? Does anyone know
where in WordPress core this happens...
... and the important question: how to detect it/refresh the connection
when it happens? At the moment I've thrown in a quick check at a key
point, but on the test case I've seen, that comes about 10 minutes late.
That's no problem, as everything in the code I've written is resumable
and can detect and recover from failures like this. It'd just be good to
not waste 10 minutes though.
UpdraftPlus - Best WordPress backups - http://updraftplus.com
WordShell - WordPress fast from the CLI - http://wordshell.net
More information about the wp-hackers