Крон запускается, а пинг автоматически не производится.
Пинг работает только в ручном режиме.
Вот настройки пинга Яндекс:
URL: http://ping.blogs.yandex.ru/RPC2
Имя метода: weblogUpdates.ping
Сервис активен: - стоит галочка
Отправлять основную RSS ленту при пинге: стоит галочка
- больше ничего не включено.
Помогите, пожалуйста....?
Комментарии
У меня он также не работал
Он по крону работает либо при добавлении материалов либо мануально.
Так в том то и дело, что не запускается. Я уже об этом сказал.
В настройках можно выбрать "Пинг сразу после сообщения/обновления (а не во время работы cron)", но это не работает.
А если с ноги? пинг идёт? Там букувально сразу можно по логу посмотреть пришёл краулер или нет. У меня вроде работает. Сегодня постораюсь в исходники глянуть.
Вообще дело может быть в отсутствии настройки сервера позволяющей обращаться к сторонним ресурсам. Может быть дело во времени
Глянул код, вроде всё нормально. Проверьте, что у вам RSS не выключены, проверьте, что не стоит настройка пинговать только те что есть на главной.
Сообщени должно выводить, что успешно уведомлён. Можете проверить, что ваш список пингов актуален. Проверьте, что XMLRPC работает.
Пинг должен проходить в любом случае, иначе месадж будет.
<?php
// Ping! Check service method
if (!empty($pingservice->method)) {
if ($pingservice->method == 'weblogUpdates.ping') {
$result = xmlrpc($pingservice->url, $pingservice->method, $name, $base_url);
}
else {
$result = xmlrpc($pingservice->url, $pingservice->method, $name, $base_url, $rss_url);
}
}
else {
$pingurl = strtr($pingservice->url, array(
'%name' => urlencode($name),
'%url' => urlencode($base_url .'/'),
'%rss' => urlencode($rss_url),
));
$result = drupal_http_request($pingurl);
if ($result->code == 200) {
$result = (strpos($result->data, '1') == 0);
}
else {
$result = FALSE;
}
}
?>
<?php if ($result->code == 200) {
$result = (strpos($result->data, '1') == 0);
}
else {
$result = FALSE;
}
?>
Единственный момент, пинг может уходить не туда т.к. обратный ключ от сервиса не проверяется, а только статус ответа. Посмотрите куда вообще пингуете и по каким параметрам.
Проверить можно прямо через браузер вбив адрес сервиса и параметры пинга.
Кстати, ещё момент.
<?php
if (module_exists('taxonomy') && ($row->whentoping & MULTIPING_WHEN_TAXONOMY)) {
$voc = unserialize($row->voc);
if (!empty($voc)) {
$sql_join[] = 'INNER JOIN {term_node} t ON t.nid = n.nid';
$sql_where[] = 't.tid IN (' . db_placeholders($voc) . ')';
$sql_values = array_merge($sql_values, $voc);
}
}
// Nodetype selection
if ($row->whentoping & MULTIPING_WHEN_NODETYPE) {
$nodetypes = unserialize($row->nodetypes);
if (!empty($nodetypes)) {
$sql_where[] = 'n.type IN (' . db_placeholders($nodetypes, 'varchar') . ')';
$sql_values = array_merge($sql_values, $nodetypes);
}
}
// Promoted to front page?
if ($row->whentoping & MULTIPING_WHEN_FRONTPAGE) {
$sql_where[] = 'n.promote > 0';
} ?>
Собсно, если вы надеетесь пропинговать какой то левый модуль или фиды созданые вьюсом, то нифига не получится. Модуль их не видит. Если будет настроение на досуге хакну этот момент
Спасибо, Вам за такое внимание.
Я постараюсь разобраться во всем что вы написали.
Но пока мне сложно понять что делать... Я не знаю php .
Нажал "ping" Google: http://blogsearch.google.com/ping/RPC2 - а тут admin/reports/dblog никаких новых следов.
Настройка "Пинговать продвинутые на главную" - отключена.
По поводу настройки сервера - нужно что-то уточнить у хостера?
Вообщем..., вопросов много возникает, а я их не понимаю...
Кароче как то так нужно настроить. Если хостера разрешён доступ по URL на сторонние ресурсы, то должно работать.
А у вас на скрине стоит галочка пинговать только ноды помещённые на главную страницу. Наверное ее нужно снять, если я хочу пинговать при добавлении всего отмеченного материала?
Если вы эту галочку оставите, то пинговаться будет только то, что на главной, а это не совсем кошерно т.к. могут добавляться материалы во внутренние разделы. У меня нормально стоит т.к. другое пинговать не имеет смысла, у вас может быть по другому.
Спасибо Cyber, все решилось установив модуль dev версии.
Не за что.
Поставил dev, по прежнему не пингует по крону.
Беру свои слова обратно. DEV версия пингует.