當 Live Sync 執行到 timeout 時
之前第一次用 Live Sync 100 多篇也才幾分鐘, 不過這次做就老是執行到 timeout, 訊息如下, 該怎麼辦呢? (而且其實才 sync 了約 60 多篇就停了)
Fatal error: Maximum execution time of 60 seconds exceeded in /home/WWW/blog/wp-content/plugins/wp-livesync.php on line 79
看了一下程式, 本來是想說是不是有設定 timeout 時間的地方, 結果一看看到了讀取資料的 SQL command, 就決定用偷懶的方法解決. 因為 Live Sync 在 sync 時已經有照 post 的時間來排序了, 因此可以直接修改程式 wp-livesync.php, 加上一段 AND post_date >= date('yyyy-mm-dd). 先看一下上次 MSN spaces 已經 sync 到哪裡了, 然後再接著後面繼續 sync 就可以了.
function wp_msnsync_syncall(){
global $wpdb;
$posts = $wpdb->get_results("SELECT ID FROM $wpdb->posts WHERE post_status = 'publish' AND post_type='post' AND post_date >= date( '2007-1-21' ) ORDER BY post_date");
if($posts)
foreach ($posts as $post)
wp_msnsync_post($post->ID);
}
global $wpdb;
$posts = $wpdb->get_results("SELECT ID FROM $wpdb->posts WHERE post_status = 'publish' AND post_type='post' AND post_date >= date( '2007-1-21' ) ORDER BY post_date");
if($posts)
foreach ($posts as $post)
wp_msnsync_post($post->ID);
}
搞定, 收工 :mrgreen:
- 瀏覽次數: 232



回應
發表新回應