20.03.2010, 10:12 | #11 |
Новичок
Я правильно понял? Если в настройке: "Переносить неактивные пиры и их статистику в архивную БД по прошествии заданного интервала времени в секундах" стоит 36000, то статистика пользователя будет обновляться каждые 10 часов. Или есть нюансы?
|
|
20.03.2010, 15:21 | #12 |
Ученик
Ура! Всё взял напильник в зубы и пошёл прикручивать
Добавлено через 1 час 45 минут Так пошли непонятки: 1. `peer_id` char(32) NOT NULL default '' -> `peer_id` binary(20) NOT NULL default '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0' Само по ALTER TABLE MODIFY сконвертится или нужен напильник? 2. Какая тут преследуется логика? Необходимо найти соответствие старым значениям и новым Старые поля: `active` int(11) unsigned NOT NULL `announced` int(11) unsigned NOT NULL, `completed` int(11) unsigned NOT NULL, Новое поле: `lastevent` enum('','started','stopped','completed') NOT NULL default '', 4. Что пишется в эти поля и по какому принципу они заполняются? `pid` binary(4) NOT NULL, `upload_user` bigint(20) unsigned NOT NULL default '0', `download_user` bigint(20) unsigned NOT NULL default '0', PS как разберусь будет конвертор В остальном уже всё готово |
|
21.03.2010, 15:49 | #13 |
Администратор
NetS, самый простой вариант переименовываем таблицу peers в peers_archive и удаляем в ней лишние поля. И создаем новую таблицу peers с нуля. Т.е. просто старая таблица peers разбита сейчас на 2 таблицы peers и peers_archive. В таблице peers храняться только активны пиры (для уменьшения размеров таблицы).
Для таблицы peers_archive и поля `download_user` и `upload_user` надо приравнять к `download_sum` и`upload_sum` соответственно. Потом эти значения будут отличаться, но т.к. в версии 2.0.2 не сохранялась отдельно реальная стата по трафу и засчитанная стата пользователю, поэтому нужно при апдейте сделать эти поля равными. насчет `lastevent`, `pid` и др. полей новой таблицы peers. Т.к. при обновлении она будет пустая, то можно не заморачиваться. Более подробно о логике переноса активных пиров в таблицу архива можно глянуть в крон файле vbtt_peers_arc.php |
|
22.03.2010, 10:44 | #14 |
Ученик
Отлично значит всё ещё проще Я хотел сделать наоборот )
|
|
22.03.2010, 18:34 | #15 |
Ученик
Обновились
Последний раз редактировалось NetS; 26.03.2010 в 17:31. |
|
23.03.2010, 15:02 | #16 |
Новичок
Мне кажется или должно так? Да и ещё вот это у меня уже было: Вот ещё в peers_archive нужна тоже удалить? А в files ничего удалять не надо при обновлении? Последний раз редактировалось Aiser; 23.03.2010 в 15:24. |
|
23.03.2010, 15:40 | #17 |
Ученик
уже есть этот ключ есть такое дело, но в таком случае не понимаю зачем в peers длина 20? Скорее всего исправляли ранее в ручную Тут на форуме где-то об этом писалось не было у меня такого Может ещё раньше почистил, т.к. не использовалось если текущая структура совпадаёт, то нет А она вроде бы совпадает |
|
23.03.2010, 16:40 | #18 |
Новичок
Да и какие тут изменения? Это вроде не бета, а альфа.
|
|
23.03.2010, 20:02 | #19 |
Администратор
Aiser, Не нравится не кушаем - может немного грубо, но меня очень долго просили выложить последнюю версию - я выложил. Основные изменения, что почти все апдейты таблиц идут пакетно и если установлен xcache или ea, на аннонс/скрейп идет 0-2 простых запроса к БД и то к мемори таблицам.
И я отписался что эту версию не вижу смысла продолжать разрабатывать, т.к. совсем не перспективно, просто пхп+мускуль в привычном понимании не совсем подходящая технология для торрент трекера. И не надо думать что бинарник панацея для торрент трекера, бинарник - да, но не в реализации xbtt - потому что даже пакетное обновление при большом пакете вызывает большие напряги на сервере. Все что я говорю имеет смысл только для действительно больших форумных трекеров. Для 95% трекеров хватит и версии 2.0.2 (разве что небольшие куски кода взять из 2.5), вот для остальных 4.9% нужна 2.5, а для оставшихся 0.1% может быть понадобится следующая версия, но там без умения ручной сборки пакетов уже точно не обойтись будет. NetS, В общем все правильно, но для всех запросов лучше сделать несколько комментов, т.к. запрос типа Код:
ALTER TABLE `peers` ADD UNIQUE KEY `uid_fid` (`uid`,`fid`), ADD INDEX `fid` (`fid`), ADD COLUMN `download_user` bigint(20) unsigned NOT NULL default '0', ADD COLUMN `upload_user` bigint(20) unsigned NOT NULL default '0'; MODIFY `peer_id` binary(20) NOT NULL default '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0', MODIFY `completed` tinyint(4) unsigned NOT NULL default '0', RENAME peers_archive; И большое равно спасибо. Последний раз редактировалось Skald; 23.03.2010 в 21:56. Причина: кое что подправил |
|
23.03.2010, 20:55 | #20 |
Ученик
Я правильно понимаю что проверка доступности порта вырезана под корень? коли так там можно будет ещё порезать и в шаблонах поправить А то народ смущается. Если сам дальше эту версию ковырять не будешь могу потом свою выкинуть со всеми правками.
PS Трекер летает :) Добавлено через 1 минуту Сори туплю Как сейчас работает проверка порта? peers_port табличка для этого? |
|
Здесь присутствуют: 8 (пользователей: 0 , гостей: 8) | |
|
|
Похожие темы | ||||
Раздел | Тема | Автор | Ответов | Последнее сообщение |
Вопросы, предложения | tracker.php (torrents.php) как в ТоррентПир | Ramzes | 2 | 17.04.2010 02:52 |