qBittorrent под Linux

Страницы :   Пред.  1, 2, 3 ... 40, 41, 42
Ответить
 

Iron_Grif

Top Bonus 05* 10TB

Стаж: 13 лет 9 месяцев

Сообщений: 71

Iron_Grif · 02-Фев-25 12:12 (10 дней назад)

Товарищи, есть вопрос. Есть ли какой-нибудь способ выделения всех разрегистрированных раздач в отдельную категорию? Сил уже никаких нет вручную отлавливать раздачи, которые нужно обновить - у меня их под две тысячи так-то висит
Юзаю 5.0.3 в контейнере
[Профиль]  [ЛС] 

FakinTosh

Старожил

Стаж: 16 лет 4 месяца

Сообщений: 1995

FakinTosh · 02-Фев-25 12:20 (спустя 7 мин.)

Iron_Grif
Там же вроде должно быть в Статус - С Ошибкой. Просто выбрать эту категорию и смотреть.
[Профиль]  [ЛС] 

Hanabishi

Старожил

Стаж: 14 лет 10 месяцев

Сообщений: 2811

Hanabishi · 02-Фев-25 14:18 (спустя 1 час 58 мин.)

Iron_Grif писал(а):
87342083Есть ли какой-нибудь способ выделения всех разрегистрированных раздач в отдельную категорию?
В десктопном GUI есть фильтр по трекерам "с ошибкой".
В WebUI такой функции пока нет.
Но само API информацию предоставляет, так что можно написать собственный скрипт, который будет проверять статусы трекеров.
[Профиль]  [ЛС] 

Iron_Grif

Top Bonus 05* 10TB

Стаж: 13 лет 9 месяцев

Сообщений: 71

Iron_Grif · 02-Фев-25 19:53 (спустя 5 часов)

FakinTosh писал(а):
87342115Iron_Grif
Там же вроде должно быть в Статус - С Ошибкой. Просто выбрать эту категорию и смотреть.
У меня, увы, не десктопный вариант - в докере контейнер крутится
Hanabishi писал(а):
87342602В WebUI такой функции пока нет.
Но само API информацию предоставляет, так что можно написать собственный скрипт, который будет проверять статусы трекеров.
Чукча не скритописатель =(
[Профиль]  [ЛС] 

Hanabishi

Старожил

Стаж: 14 лет 10 месяцев

Сообщений: 2811

Hanabishi · 02-Фев-25 21:04 (спустя 1 час 10 мин., ред. 02-Фев-25 21:16)

Iron_Grif писал(а):
87344209Чукча не скритописатель =(
Вот скрипт, запускать на странице WebUI через инструменты разработчика.
Код:
(async () => {
    const load = async (url) => (await fetch(url)).json();
    const torrents = await load("/api/v2/torrents/info?filter=uploading");
    for (const { hash, name } of torrents) {
        const trackers = await load(`/api/v2/torrents/trackers?hash=${hash}`);
        const err = trackers.find(({ tier, status }) => tier >= 0 && status >= 4);
        err && err.msg && console.log(name, hash, err.msg);
    }
})();
Напечатает все раздачи где есть сообщение об ошибке от трекера.
[Профиль]  [ЛС] 

Iron_Grif

Top Bonus 05* 10TB

Стаж: 13 лет 9 месяцев

Сообщений: 71

Iron_Grif · 02-Фев-25 22:23 (спустя 1 час 18 мин.)

Hanabishi писал(а):
87344551Вот скрипт, запускать на странице WebUI через инструменты разработчика. Напечатает все раздачи где есть сообщение об ошибке от трекера.
Работает, всё как надо, спасибо! А можно его модифицировать, чтоб выводил только разрегистрированные раздачи? У меня там куча раздач, к которым неработающий ретрекер прикручен, и все они выводятся
[Профиль]  [ЛС] 

Hanabishi

Старожил

Стаж: 14 лет 10 месяцев

Сообщений: 2811

Hanabishi · 02-Фев-25 22:32 (спустя 9 мин.)

Iron_Grif писал(а):
87344954У меня там куча раздач, к которым неработающий ретрекер прикручен
Тип ошибки фильтровать затруднительно. Лучше просто удалите ретрекер из всех раздач и отключите его добавление в настройках профиля.
[Профиль]  [ЛС] 

Iron_Grif

Top Bonus 05* 10TB

Стаж: 13 лет 9 месяцев

Сообщений: 71

Iron_Grif · 03-Фев-25 20:16 (спустя 21 час, ред. 03-Фев-25 20:16)

Hanabishi писал(а):
Тип ошибки фильтровать затруднительно. Лучше просто удалите ретрекер из всех раздач и отключите его добавление в настройках профиля.
Добро, так и поступлю! Ещё раз спасибо!
Hanabishi писал(а):
87344990Тип ошибки фильтровать затруднительно.
Обратился к товарищу, он допилил ваш скрипт до вот такого вида
Код:

await (async () => {
    const load = async (url) => (await fetch(url)).json();
    const torrents = await load("/api/v2/torrents/info?filter=uploading");
    for (const { hash, name } of torrents) {
        const trackers = await load(`/api/v2/torrents/trackers?hash=${hash}`);
        const err = trackers.find(({ tier, status, msg }) => tier >= 0 && status >= 4 && msg.includes("Torrent not registered"));
        err && err.msg && console.log(name, hash, err.msg);
    }
return "done";
})();
Работает, хоть и не так резво, как мне бы хотелось)
[Профиль]  [ЛС] 

umike

Старожил

Стаж: 18 лет 6 месяцев

Сообщений: 34

umike · 10-Фев-25 12:47 (спустя 6 дней, ред. 10-Фев-25 12:47)

Есть вопрос по кэшу/буферам. Никто не сравнивал нагрузку на диски 1 и 2 версии libtorrent?
Поставил qbittorrent-enhanced-nox v4.6.7.10 + libtorrent-rasterbar2 (Libtorrent: 2.0.11.0)
Размышления такие:
На винде с либторрент версии 1 выставлял кубиту вручную буфер в несколько гигов и галку Send upload piece suggestions, кубит в своей статистике показывал эффективность кэша порядка 30-40%. Я понимаю это так что на активных раздачах он буферизует запрошенные пирами чанки и предлагает их другим пирам, отдавая уже из оперативки.
Из либторрент2 выпилены опции кэша и вопрос кэширования ложится на средства самого линуха/ос. Есть подозрения что т.к. торрент обращается к рандомным кускам рандомных файлов, линух может напрасно пытаться это кэшировать и занимает всю оперативку буферами. По крайней мере для меня загадка что именно он там делает и как оценить эффективность этого кэша. Например, если линух делает упреждающее чтение, читая больше запрошенного в кэш (в надежде что это сейчас тоже запросят, как бывает при работе с обычными пользовательскими файлами) то он делает это зря, напрасно увеличивает активность дисков. И может быть тогда лучше попробовать откатиться на libtorrent v1 и задать ему кэш вручную?
[Профиль]  [ЛС] 

Hanabishi

Старожил

Стаж: 14 лет 10 месяцев

Сообщений: 2811

Hanabishi · 10-Фев-25 13:53 (спустя 1 час 6 мин.)

umike писал(а):
87378594По крайней мере для меня загадка что именно он там делает и как оценить эффективность этого кэша.
Стандартный кэш ОС работает предсказумемым образом. Все читаемое с диска оседает в памяти, пока она не заполнится. Когда память заполнится, вступает в дело механизм LRU (Least Recently Used), то есть ядро выкидывает из памяти самые редко используемые фрагменты данных. То есть вполне неплохо обеспечивает содержание в памяти самых востребованных данных с диска.
Оценить эффективность со стороны клиента никак, только через мониторинг самого ядра.
umike писал(а):
87378594Например, если линух делает упреждающее чтение, читая больше запрошенного в кэш (в надежде что это сейчас тоже запросят, как бывает при работе с обычными пользовательскими файлами) то он делает это зря, напрасно увеличивает активность дисков.
Стандартный read-ahead в линуксе всего 128 КБ, это меньше чем типичный размер 1 части в торренте. Но могут быть вариации в зависимости от фс (например у Btrfs 4 МБ по-умолчанию).
umike писал(а):
87378594И может быть тогда лучше попробовать откатиться на libtorrent v1 и задать ему кэш вручную?
Можно обновиться до актуальной версии. В 5.0.1 я добавил новый режим I/O для libtorrent 2.0.
Но можно и на libtorrent 1.2 спрыгнуть, если лень возиться.
[Профиль]  [ЛС] 
 
Ответить
Loading...
Error