[phpBB Debug] PHP Warning: in file [ROOT]/phpbb/session.php on line 574: sizeof(): Parameter must be an array or an object that implements Countable
[phpBB Debug] PHP Warning: in file [ROOT]/phpbb/session.php on line 630: sizeof(): Parameter must be an array or an object that implements Countable
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 113: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 113: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 113: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 113: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 113: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 5348: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3937)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 5348: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3937)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 5348: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3937)
Russian Progress User Group • Скрипты для работы с aiarchiver
Страница 1 из 1

Скрипты для работы с aiarchiver

Добавлено: 11 июн 2009, 07:01
rda

Re: Скрипты для работы с aiarchiver

Добавлено: 11 июн 2009, 12:15
Старожыл

Re: Скрипты для работы с aiarchiver

Добавлено: 11 июн 2009, 21:35
George
Цикл жизни AI файлов состоит из 3 фаз:
1) Оттаскивание от базы заполненных AI файлов, что позволяет базе повторно использовать AI экстенты;
2) Перенос AI файлов на место их долговременного упокоения (перенос на другую машину, сброс на ленточку и т.п.);
3) Накат AI файлов на копию базы.

Aiarchiver полностью берет на себя первую фазу и ни каким боком не участвует в двух оставшихся этапах. Но при этом несколько затрудняет их реализацию... Скрипты, которые осуществляли вторую и третью фазу, могут использоваться и с aiarchiver'ом, но нужно учесть, что на копирование AI файла требуется время. Раньше один и тот же скрипт мог выполнять первую и вторую фазу и синхронизировать процессы требовалось только на третьем этапе. Теперь это требуется на границе каждого этапа.

Раньше можно было бы использовать "оптимистическую" синхронизацию - если AI файлы переключаются по cron'у с интервалом T секунд, то следующий этап (скрипт) может стартоваться cron'ом со сдвигом T/2. Этого сдвига должно быть более чем достаточно, чтобы файл успел скопироваться (учитывая, что файл "заполнялся" базой втечении T секунд). Про aiarchiver, даже если он работает с заданным интервалом, мы не можем сказать когда точно он начнет копировать файл хотя бы потому, что не знаем когда была запущена база.

Может кто-нибуть проверял копирует ли aiarchiver каждый файл сразу с тем именем, которое у него остается в итоге? На больших AI файлах должно хватить времени, чтобы это заметить. Если файл сначала копируется под одним именем, а потом переименовывается, то несложно написать скрипт, который будет отслеживать появление в указанном каталоге файла с правильным именем и далее перебрасывать его куда надо. Если нет, то надо как-то исхитряться. Например, обрабатывать все файлы в каталоге кроме последнего. Или парсить db.archival.log (опять нужно проверить, что запись там делается после завершения копирования файла).

Re: Скрипты для работы с aiarchiver

Добавлено: 11 июн 2009, 22:02
George
Проверил под Windows. Aiarchiver копирует AI файл сразу с тем именем, которое у него потом и остается. Сообщение в db.archival.log пишется, когда копирование уже завершено. Т.е. можно проверять этот лог и обрабатывать все файлы, которые там упоминаются. Так даже лучше потому, что не нужно закладываться на каталог, в который копируются файлы (-aiarcdir). Тем более, что каталогов может быть несколько и их список можно поменять в любой момент.

Re: Скрипты для работы с aiarchiver

Добавлено: 06 окт 2011, 20:36
dmi