Странный баг в RSS виджете
-
Здравствуйте!
Транслировали RSS потоки с одного нашего сайта на другой и обратно, но вот, буквально вчера стала появляться следующая надпись: Ошибка RSS: WP HTTP Error: Operation timed out after 10000 milliseconds with 220699 bytes received
Что это может значить? И, как заставить RSS работать заново?
При этом в Яндекс.Ленте и Google.Reader всё прекрасно работает.
Зараннее благодарен.
С уважением,
Игорь.
-
Это значит, что WP слишком долго читает поток.
Причина «где-то между» серверами.Парадокс в том, что мы поставили свой поток на свой сайт, то есть всё находится на одном сервере.
Дней 10 работало всё идеально, сейчас на одной платформе появляется ошибка, на другой — ничего не появляется (поток этот же, домен этот же)
Как бы всё решить, уж больно интересный эксперимент пытаемся осуществить.
С уважением,
Игорь.всё находится на одном сервере
Надо же, какое извращение.
Очень интересный эксперимент, да.То есть вы со своей машины делаете внешний вызов, который снова попадает на входной шлюз провайдерской площадки, маршрутизируется обратно на вашу машину, а ответ идет на ее же, но в третий раз через шлюз? Вам не приходило в голову, что циска на шлюзе могла «запутаться» и отрезать запрос, как DDoS? Не проще уже прямой доступ в базу организовать, если она на той же машине работает?
Уважаемый Atrax, что Вы имеете в виду?
Более подробно о том, что мы сделали:
имеем домен bestjapaneseproducts.ru — на него устанавливаем RSS widget, в который вводим фид этого же домена — bestjapaneseproducts.ru/feed/ — получаем по всему сайта анонс своих же материалов, причём никогда не совпадающих с тем, что у вас размещено на главной странице.
Мы пошли дальше, и этот же фид добавили на нашу вторую «некоммерческую» площадку (второй WordPress) — bestjapaneseproducts.ru/japan/ — и получили анонс своих же материалов на площадке, посвящённой Японии.
Что не так?
Не могли бы Вы разъяснить, что Вы имеете в виду под — «Не проще уже прямой доступ в базу организовать, если она на той же машине работает?»
И как это сделать в рамках нашей идеи?Спасибо!
С уважением,
Игорь.Я говорю о сложной маршрутизации http- запросов, которая получается при таком подходе. А прямой доступ — это php- код внутри шаблона, который незпависимо от wordpress обращается к нужной базе данных и получает нужную информацию. Но только «ручками», без автоматики. И быстрее, и ненужного трафика нет, и маршрутизация не сбивается.
Естественно, это потребует от вас умения писать на php и работать с mySQL, а не просто «поставить плагин». Но если «эксперимент интересен» — вам и карты в руки.
Как вариант, можно увеличить тайм-аут в
functions.php
в каталоге темы:function increase_fetch_timeout($args) { if ( $args['timeout'] == 10 ) $args['timeout'] = 20; return $args; } add_action('http_request_args', 'increase_fetch_timeout');
Хотя, больше десяти секунд — уже довольно долго 🙂 Возможно, сервер перегружен? Насколько быстро открываются обычные страницы?
Сергей, здравствуйте!
Сегодня проверим на нескольких компьютерах скорость загрузки.
Мой Мак, к сожалению, недели две не перезагружался, поэтому всё делает заторможенно.Спасибо за совет!
Проверю какие показатели у нас заведены!
С уважением,
Игорь.Сергей, извините, а куда вставлять данный код?
Вот весь код в functions.php
<?php
//Start WooThemes Functions — Please refrain from editing this file.
$functions_path = TEMPLATEPATH . ‘/functions/’;
$includes_path = TEMPLATEPATH . ‘/includes/’;// Options panel variables and functions
require_once ($functions_path . ‘admin-setup.php’);// Custom functions and plugins
require_once ($functions_path . ‘admin-functions.php’);// Custom fields
require_once ($functions_path . ‘admin-custom.php’);// Admin Interface!
require_once ($functions_path . ‘admin-interface.php’);// Options panel settings
require_once ($includes_path . ‘theme-options.php’); // What we do!//Custom Theme Fucntions
require_once ($includes_path . ‘theme-functions.php’);//Custom Comments
require_once ($includes_path . ‘theme-comments.php’);// Load Javascript in wp_head
require_once ($includes_path . ‘theme-js.php’);// Widgets & Sidebars
require_once ($includes_path . ‘sidebar-init.php’);require_once ($includes_path . ‘theme-widgets.php’);
add_action(‘wp_head’, ‘woothemes_wp_head’);
add_action(‘admin_menu’, ‘woothemes_add_admin’);
add_action(‘admin_head’, ‘woothemes_admin_head’);?>
С уважением,
Игорь.Например, между
<?php
и следующей строчкой с комментарием.Я правильно понимаю, код будет выглядеть примерно так:
<?php
function increase_fetch_timeout($args) {
if ( $args[‘timeout’] == 10 )
$args[‘timeout’] = 20;
return $args;
}
add_action(‘http_request_args’, ‘increase_fetch_timeout’);//Start WooThemes Functions — Please refrain from editing this file.
$functions_path = TEMPLATEPATH . ‘/functions/’;
$includes_path = TEMPLATEPATH . ‘/includes/’;
и т.д.Да, верно.
Сергей, снимаем шляпу!
Спасли идею.Извините, как Вам показалось, главная страница долго грузится?
Спасибо большое!
С уважением,
Игорь.На текущий момент достаточно быстро 🙂 В пределах нескольких секунд.
- Тема «Странный баг в RSS виджете» закрыта для новых ответов.