JerryW01
Forum Replies Created
-
Dear Cais,
I just checked again, and good news. There are only 385 rows in the wp_options table. So this problem is solved. :o)
Thanks very much for the help!!
When the new version next week is out, I will update. If for any reason this behaviour starts again, I will be back. But like you said there won’t be any issues, I have good confidence that this won’t be the case. :o)
Thanks!! :o)
Kind regards,
GeryDear Cais,
At first sight, this looks fine now.
When I installed the beta yesterday, I immediately reactivated all other plugins (to see the effect).
At this time, the wp_options table has 527 rows (9,8MB). The coulumn overhead also shows 7,3MB. This suggests that there is data that is deleted from the wp_options table. SO that looks good.
I will let it run for a couple of days, but if it remains like this, then I think the problem is solved.For future updates, can I do the updates? Or do I have to stay with this beta release?
Thanks for the help!! :o)
Kind regards,
GeryDear Cais,
Thanks for the beta version. I installed this on the website. I’ll get back to you tomorrow with the results. :o)
Thanks again!
Kind regrads,
GeryHi Cais,
I’m afraid that the plugins won’t be totally responsible for it. At this time all plugins (except the Nextgen Gallery) are still deactivated. But the size of the wp_options table is 4457 rows (28Mb) already.
So it seems that the growth doesn’t happen that fast, but the cron functionality, that should delete the unused rows, doesn’t seem to happen.Do you have any other thoughts?
Thanks!
Kind regards,
GeryHi Cais,
Ok, I will try this. At this time I disabled all plugins. Every day I will check and activate a plugin. I hope that way I can see if a plugin (and also hopefully which plugin) is responsible.
I keep you updated.
Thanks!
Kind regards,
GeryDear Cais,
What do you propose I do next then?
Kind regards,
GeryDear Cais,
How can I find out that a plugin uses the cron file?
Next to the Nextgen Gallery plugin, the website uses these plugins:
– Akismet
– All In One WP Security
– Calendar
– Contact Form 7
– Count Per Day
– jQuery Colorbox
– Maintenance Mode: Adds a splash page to your blog that lets visitors know your blog is down for maintenance
– Post Notification: Sends an email to all subscribersThanks!
Kind regards,
GeryDear Cais,
This is the wp-cron.php page (I hope this works :o) ). Can you see something wrong on this?
Kind regards,
Gery<?php /** * WordPress Cron Implementation for hosts, which do not offer CRON or for which * the user has not set up a CRON job pointing to this file. * * The HTTP request to this file will not slow down the visitor who happens to * visit when the cron job is needed to run. * * @package WordPress */ ignore_user_abort(true); if ( !empty($_POST) || defined('DOING_AJAX') || defined('DOING_CRON') ) die(); /** * Tell WordPress we are doing the CRON task. * * @var bool */ define('DOING_CRON', true); if ( !defined('ABSPATH') ) { /** Set up WordPress environment */ require_once( dirname( __FILE__ ) . '/wp-load.php' ); } // Uncached doing_cron transient fetch function _get_cron_lock() { global $wpdb; $value = 0; if ( wp_using_ext_object_cache() ) { // Skip local cache and force refetch of doing_cron transient in case // another processs updated the cache $value = wp_cache_get( 'doing_cron', 'transient', true ); } else { $row = $wpdb->get_row( $wpdb->prepare( "SELECT option_value FROM $wpdb->options WHERE option_name = %s LIMIT 1", '_transient_doing_cron' ) ); if ( is_object( $row ) ) $value = $row->option_value; } return $value; } if ( false === $crons = _get_cron_array() ) die(); $keys = array_keys( $crons ); $gmt_time = microtime( true ); if ( isset($keys[0]) && $keys[0] > $gmt_time ) die(); $doing_cron_transient = get_transient( 'doing_cron'); // Use global $doing_wp_cron lock otherwise use the GET lock. If no lock, trying grabbing a new lock. if ( empty( $doing_wp_cron ) ) { if ( empty( $_GET[ 'doing_wp_cron' ] ) ) { // Called from external script/job. Try setting a lock. if ( $doing_cron_transient && ( $doing_cron_transient + WP_CRON_LOCK_TIMEOUT > $gmt_time ) ) return; $doing_cron_transient = $doing_wp_cron = sprintf( '%.22F', microtime( true ) ); set_transient( 'doing_cron', $doing_wp_cron ); } else { $doing_wp_cron = $_GET[ 'doing_wp_cron' ]; } } // Check lock if ( $doing_cron_transient != $doing_wp_cron ) return; foreach ( $crons as $timestamp => $cronhooks ) { if ( $timestamp > $gmt_time ) break; foreach ( $cronhooks as $hook => $keys ) { foreach ( $keys as $k => $v ) { $schedule = $v['schedule']; if ( $schedule != false ) { $new_args = array($timestamp, $schedule, $hook, $v['args']); call_user_func_array('wp_reschedule_event', $new_args); } wp_unschedule_event( $timestamp, $hook, $v['args'] ); /** * Fires scheduled events. * * @since 2.1.0 * * @param string $hook Name of the hook that was scheduled to be fired. * @param array $v['args'] The arguments to be passed to the hook. */ do_action_ref_array( $hook, $v['args'] ); // If the hook ran too long and another cron process stole the lock, quit. if ( _get_cron_lock() != $doing_wp_cron ) return; } } } if ( _get_cron_lock() == $doing_wp_cron ) delete_transient( 'doing_cron' ); die();Dear Cais,
I’m afraid the problem still isn’t gone. The growth of the wp_options table doesn’t go as fast as before, but still there is a huge number of rows in the wp_options table.
I’m afraid that in a couple of weeks the database will be full again (this moment it is already again at 41% usage).At this time the wp_options table contains 12770 rows for only 462 photos (which is good for 79,6MB size of wp_options table). When I clear the image cache, the wp_options table contains 226 rows (579,7kb). As you can see, this is a very big difference.
Also last year, there were like 3000 photos in the database. Then we didn’t have a problem. So I think one of the updates of the gallery has started this.Do you have any other ideas in how to solve this?
Thanks!
Kind regards,
GeryDear Cais,
Thanks for this solution. I added the define statement to the wp_config file. I will test this solution and will let you know the result in a day or 2.
Kind regards,
Jerry