1

Тема: Пауза при публикации записей

Вопрос, собственно такой:

Как можно реализовать задержу на 1-3 секунды между публикациями записей (т.е. перепубликация 1 записи / пауза / перепубликация 2 записи / пауза / и т.д.) при общей перепубликации всего блога.

Просто идет обращение к сторонним серверам для обновления определенного контента и данных и при частых запросах возможен временный бан ip моего сервера.

Заранее благодарен за помощь в решении данной проблемки.

2

Re: Пауза при публикации записей

Конкретно паузу установить нельзя, насколько мне известно. Но можно установить количество одновременно публикуемых записей: http://www.movabletype.org/documentatio … build.html

3

Re: Пауза при публикации записей

EntriesPerRebuild 1 пробовал
Все равно запросы один за другим идут, нужно побольше паузу ;)

4

Re: Пауза при публикации записей

Есть функция в Perl, где цифра три - количество секунд на которое надо уснуть, найдите куда вставить и будет вам счастье.

sleep(3);

5

Re: Пауза при публикации записей

Этим как раз и пробую заниматься - пока не нашел куда вставлять, где функции по перепубликации прописаны...

Спасибо ;)

6

Re: Пауза при публикации записей

Вроде как получилось: правим в файлике WeblogPublisher.pm секцию:

## For each mapping, we need to rebuild the entries we loaded above in
    ## the particular template map, and write it to the specified archive
    ## file template.
    require MT::Template;
    require MT::Template::Context;
    for my $map (@map) {
        next unless $map->build_type; # ignore disabled template maps

        my $ctx = MT::Template::Context->new;
        $ctx->{current_archive_type} = $at;
        $ctx->{archive_type}         = $at;
        $mt->rebuild_file(
            $blog, $arch_root, $map, $at, $ctx, \my %cond,
            !$param{NoStatic},
            Category  => $param{Category},
            Entry     => $entry,
            Author    => $param{Author},
            StartDate => $start,
            EndDate   => $end,
            Force     => $param{Force} ? 1 : 0,
        ) or return;
        $done->{ $map->{__saved_output_file} }++;
sleep (15);
    }
    1;
}

Может кому еще пригодится...

Всем спасибо :)

Отредактировано seo (09:10:2011 13:21:53)