Плагин "Auto Switch"
Moderators: Korney San, marcipan
Длительность задержки между паузой и стартом закачки никак нельзя настроить? В дельфи не силён, но с готовой рыбиной, думаю, справлюсь... Если самому нет возможности или желания заниматься - то нельзя ли поделиться исходником (исключительно в личных целях). Править код, а тем более распространять исправленное не собираюсь - только найти и исправить значение интервала "под себя" и перекомпилить. Плагин - то, что доктор прописал, но времени для восстановления моего канала не достаточно - не оптимальная скорость получается.
- Korney San
- Гуру
- Posts: 1116
- Joined: 02 Oct 2006, 17:01 Mon
- Location: Беларусь, Гомель
- Contact:
Какой версией пользуетесь?OneChel wrote:Длительность задержки между паузой и стартом закачки никак нельзя настроить?
В 0.2.0.4 - можно.
В 0.3.0.2 - нельзя, там другой принцип работы.
А опция версии 0.3.0.2 "Время без проверки" не спасает?OneChel wrote:Плагин - то, что доктор прописал, но времени для восстановления моего канала не достаточно - не оптимальная скорость получается.
XPProSP3, DM 5.15.2.1341, Pale Moon 20.0.1, Opera Next 12.15 (1748) RTFM & STFF
Если Вы не можете быть хорошим примером, то Вам просто придётся служить ужасным предостережением. © Кэтрин Эйрд
Если Вы не можете быть хорошим примером, то Вам просто придётся служить ужасным предостережением. © Кэтрин Эйрд
0.3.0.2. Импонирует использование очереди закачки DM, да и другие изменения тоже считаю правльными. Ну, двойка - так двойка... Опция версии 0.3.0.2 "Время без проверки" не спасает, т.к. никак не влияет на время для восстановления скорости канала, а в общем, даже наоборот - поддерживает закачку на любой скорости, не давая возможности каналу восстановиться.
- Korney San
- Гуру
- Posts: 1116
- Joined: 02 Oct 2006, 17:01 Mon
- Location: Беларусь, Гомель
- Contact:
Просто возможность делать паузу между выключением и включением закачек сразу налагает определённые ограничения:
1. Внутренняя очередь закачек (плагин должен помнить, что он останавливал и что нужно запускать)
2. Невозможность пользоваться автоматизацией DM (плагин остановил закачку, DM думает - "Опа, ничего нет, гасим интернет/комп", а тут плагин стартует другую закачку => конфликт).
В принципе пункт 2 можно обойти - за счёт постоянного присутствия в списке закачек "ложной" закачки, которую плагин будет включать, если остаётся одна "настоящая".
1. Внутренняя очередь закачек (плагин должен помнить, что он останавливал и что нужно запускать)
2. Невозможность пользоваться автоматизацией DM (плагин остановил закачку, DM думает - "Опа, ничего нет, гасим интернет/комп", а тут плагин стартует другую закачку => конфликт).
В принципе пункт 2 можно обойти - за счёт постоянного присутствия в списке закачек "ложной" закачки, которую плагин будет включать, если остаётся одна "настоящая".
XPProSP3, DM 5.15.2.1341, Pale Moon 20.0.1, Opera Next 12.15 (1748) RTFM & STFF
Если Вы не можете быть хорошим примером, то Вам просто придётся служить ужасным предостережением. © Кэтрин Эйрд
Если Вы не можете быть хорошим примером, то Вам просто придётся служить ужасным предостережением. © Кэтрин Эйрд
Ну, тут возникают два оснвных момента.
Во-первых: если алгоритм тройки не позволяет регулировать нужный интервал, т.к. полностью завязан на использование внутренних механизмов DM (если я вас правильно понял) - то, может быть, это возможно через изменение каких-то параматров самого DM?
Во-вторых: уже существует и успешно работает (так, как мне нужно) алгоритм организации очереди, реализованный в другом плагине - расширенном планировщике (едидинственный плагин, поставляемый в составе инсталлятора, что о многом говорит). Единственное, что нужно поменять в данном случае - это признак для старта/отановки закачки - не по расписанию, а по скорости. Но это уже только мечты, так как для этого, наверно, потребуется написать новый - третий плагин. Скомбинировать никак не получится, исходниками никто ни за что не поделится, а разбираться в дельфях настолько глубоко, чтобы написать его с нуля у меня нет ни времени и ни какого желания.
Во-первых: если алгоритм тройки не позволяет регулировать нужный интервал, т.к. полностью завязан на использование внутренних механизмов DM (если я вас правильно понял) - то, может быть, это возможно через изменение каких-то параматров самого DM?
Во-вторых: уже существует и успешно работает (так, как мне нужно) алгоритм организации очереди, реализованный в другом плагине - расширенном планировщике (едидинственный плагин, поставляемый в составе инсталлятора, что о многом говорит). Единственное, что нужно поменять в данном случае - это признак для старта/отановки закачки - не по расписанию, а по скорости. Но это уже только мечты, так как для этого, наверно, потребуется написать новый - третий плагин. Скомбинировать никак не получится, исходниками никто ни за что не поделится, а разбираться в дельфях настолько глубоко, чтобы написать его с нуля у меня нет ни времени и ни какого желания.
- Korney San
- Гуру
- Posts: 1116
- Joined: 02 Oct 2006, 17:01 Mon
- Location: Беларусь, Гомель
- Contact:
Он не столько завязан, сколько просто отдаёт всё в руки DM - плагин останавливает закачку и тут же её запускает. А DM сам выбирает следующую из очереди. Порядок, в котором он её выбирает, известен только разработчикам и настроить его нельзя.OneChel wrote:Ну, тут возникают два оснвных момента.
Во-первых: если алгоритм тройки не позволяет регулировать нужный интервал, т.к. полностью завязан на использование внутренних механизмов DM (если я вас правильно понял) - то, может быть, это возможно через изменение каких-то параматров самого DM?
Единственный ОФИЦИАЛЬНЫЙ плагин (от разработчиков), потому и поставляется в комплекте.OneChel wrote: Во-вторых: уже существует и успешно работает (так, как мне нужно) алгоритм организации очереди, реализованный в другом плагине - расширенном планировщике (едидинственный плагин, поставляемый в составе инсталлятора, что о многом говорит).
Однако что-то я не нашёл там упоминания о какой-либо очереди. Запланированные закачки есть, да, а вот очереди нет.
Исходниками, допустим, поделюсь я - от 0.2.0.4. Вот только разбираться "глубоко" всё равно придётся - чтобы понять, как эта хрень работает.OneChel wrote: Скомбинировать никак не получится, исходниками никто ни за что не поделится, а разбираться в дельфях настолько глубоко, чтобы написать его с нуля у меня нет ни времени и ни какого желания.
XPProSP3, DM 5.15.2.1341, Pale Moon 20.0.1, Opera Next 12.15 (1748) RTFM & STFF
Если Вы не можете быть хорошим примером, то Вам просто придётся служить ужасным предостережением. © Кэтрин Эйрд
Если Вы не можете быть хорошим примером, то Вам просто придётся служить ужасным предостережением. © Кэтрин Эйрд
Чтобы что-то работало как очередь, оно не обязательно должно называться "очередь". Терминологию оспаривать я не буду. Всё просто работает - я сортирую нужные мне закачки в нужном мне порядке в списке закачек (очереди или как там оно называется), помечаю как запланированные, и активирую плагин. Он начинает закачку верхней по списку загрузки, затем прерывает закачку, через определённое мною время возобновляет её и так далее в цикле. Закачав ОДНУ верхнюю загрузку из всех запланированных, плагин или DM (на самом деле мне всё равно, кто из них) переходит к следующей по списку/очереди загрузке, но никак не раньше окончания первой. И так далее до окончания списка/очереди запланированных закачек.
Собственно всю эту байду я и обозвал "нужным мне алгоритмом работы с очередью". Извиняюсь, если задел кого-то случайно, легкомысленно использовав терминологию так, как я её понимаю.
Собственно всю эту байду я и обозвал "нужным мне алгоритмом работы с очередью". Извиняюсь, если задел кого-то случайно, легкомысленно использовав терминологию так, как я её понимаю.
- Korney San
- Гуру
- Posts: 1116
- Joined: 02 Oct 2006, 17:01 Mon
- Location: Беларусь, Гомель
- Contact:
Извиняться не стоит - это я внёс некоторую путаницу. В DM есть список закачек. Те из них, которые запускает пользователь и которые попадают под контроль плагина, я и назвал "очередью".OneChel wrote:Собственно всю эту байду я и обозвал "нужным мне алгоритмом работы с очередью". Извиняюсь, если задел кого-то случайно, легкомысленно использовав терминологию так, как я её понимаю.
Далее по алгоритму.
Вступление. Закачка может находиться в одном из 7 состояний, из которых плагин контролирует 2-3 основных: "пауза" (закачка не скачивается), "скачивается", "очередь" (закачка ожидает начала скачивания).
1. То что Вы их отсортируете, совсем не означает, что DM отдаст их ID в отсортированном порядке (ЕМНИП, он отдаёт их всегда по возрастанию ID).OneChel wrote:я сортирую нужные мне закачки в нужном мне порядке в списке закачек
Отсюда определить, какая из закачек в списке "первая", из плагина практически невозможно.
2. Это понятно. Только информацию о том, что закачка запланирована, придётся "добывать" напрямую из файла списка закачек.OneChel wrote: помечаю как запланированные, и активирую плагин.
А есть ещё и приоритет.
3. После прерывания закачки (при отсутствии других в состоянии "скачивается" или "очередь") возникнет событие "Всё скачано", которое вызовет реакцию DM (при включённой автоматизации) и других плагинов, обрабатывающих это событие. Это будет повторяться каждый цикл.OneChel wrote: Он начинает закачку верхней по списку загрузки, затем прерывает закачку, через определённое мною время возобновляет её и так далее в цикле.
4. Если выставить количество одновременных закачек в 1, так оно и будет безо всяких ухищрений с планированием.OneChel wrote: Закачав ОДНУ верхнюю загрузку из всех запланированных, плагин или DM (на самом деле мне всё равно, кто из них) переходит к следующей по списку/очереди загрузке, но никак не раньше окончания первой. И так далее до окончания списка/очереди запланированных закачек.
Подводя итог:
Если доработать версию 0.3 (вернее, вернуть удалённую чать из 0.2), она справится с этим превосходно. Основная проблема - пункт 3.
Если же отталкиваться от запланированных закачек - проще писать новый плагин, требования специфические.
XPProSP3, DM 5.15.2.1341, Pale Moon 20.0.1, Opera Next 12.15 (1748) RTFM & STFF
Если Вы не можете быть хорошим примером, то Вам просто придётся служить ужасным предостережением. © Кэтрин Эйрд
Если Вы не можете быть хорошим примером, то Вам просто придётся служить ужасным предостережением. © Кэтрин Эйрд
Да, действительно, использую DM "безо всяких ухищрений с планированием", без каких либо посторонних действий по окончании всех закачек и т.д. От DM требуется только одно - качать файлы с максимально возможной скоростью 24 часа в сутки, 7 дней в нелелю. И больше ничего.
Насчёт того, что, скорее всего, понадобится новый плагин согласен (я писал об этом, см. выше, и сразу отнёс это решение в область фантастики). Ну, не программёр я, хотя и мог бы им стать, каждый должен заниматься своим делом. А в эту ветку начал писать исключительно с целью уточнить возможные варианты оптимизации загрузки.
Не склалось, так не склалось. С огромным сожалением пришлось отказаться от автостопа в пользу адвенседшедулера. Он, конечно, тоже идеально подстроиться под канал не позволяет, но там потери всё же меньше. Пойду в другую ветку авторов адванседшедулера доставать...
Насчёт того, что, скорее всего, понадобится новый плагин согласен (я писал об этом, см. выше, и сразу отнёс это решение в область фантастики). Ну, не программёр я, хотя и мог бы им стать, каждый должен заниматься своим делом. А в эту ветку начал писать исключительно с целью уточнить возможные варианты оптимизации загрузки.
Не склалось, так не склалось. С огромным сожалением пришлось отказаться от автостопа в пользу адвенседшедулера. Он, конечно, тоже идеально подстроиться под канал не позволяет, но там потери всё же меньше. Пойду в другую ветку авторов адванседшедулера доставать...
- Korney San
- Гуру
- Posts: 1116
- Joined: 02 Oct 2006, 17:01 Mon
- Location: Беларусь, Гомель
- Contact:
А я разве что-то говорил про "фантастику" и "не склалось"?OneChel wrote: Насчёт того, что, скорее всего, понадобится новый плагин согласен (я писал об этом, см. выше, и сразу отнёс это решение в область фантастики).
Не склалось, так не склалось.
Я обсуждаю техническое задание, примеривая его к существующему плагину, чтобы знать - встраивать запрошенный функционал туда или писать новый. Только и всего.
В принципе я уже продумал механизм блокировки "ненужного" события (при помощи "ложной" закачки), так что Ваш вопрос решаем - за Ваш же счёт (в списке закачек при необходимости будет появляться "ложная" закачка с адреса 127.0.0.1, удалять которую потом придётся ВРУЧНУЮ).
Будем делать?
P.S. Авторы Advanced Sheduler = разработчики DM => доставать их будет столько же пользы, как от других просьб к ним на этом форуме.
XPProSP3, DM 5.15.2.1341, Pale Moon 20.0.1, Opera Next 12.15 (1748) RTFM & STFF
Если Вы не можете быть хорошим примером, то Вам просто придётся служить ужасным предостережением. © Кэтрин Эйрд
Если Вы не можете быть хорошим примером, то Вам просто придётся служить ужасным предостережением. © Кэтрин Эйрд
Как-то я сразу и не догнал, что у нас уже конструктивный диалог пошёл.
Тогда вопрос - как часто нужно будет удалять лишнюю закачку при условии, что цикл запуска - остановки "правильной" закачки будет составлять меньше минуты? Как может помешать то обстоятельство, что свой рабочий комп я вижу, всё-таки, не чаще пяти раз в неделю и не дольше восьми часов в сутки?
И второе. На моём компе крутится проксик для раздачи инета в сетку, при этом он не только имеет айпи моего компа со стороны сетки, но и откликается на 127.0.0.1. Если "лишнюю" загрузку объявить с этого айпи - у него мозги не съедут?
Тогда вопрос - как часто нужно будет удалять лишнюю закачку при условии, что цикл запуска - остановки "правильной" закачки будет составлять меньше минуты? Как может помешать то обстоятельство, что свой рабочий комп я вижу, всё-таки, не чаще пяти раз в неделю и не дольше восьми часов в сутки?
И второе. На моём компе крутится проксик для раздачи инета в сетку, при этом он не только имеет айпи моего компа со стороны сетки, но и откликается на 127.0.0.1. Если "лишнюю" загрузку объявить с этого айпи - у него мозги не съедут?
- Korney San
- Гуру
- Posts: 1116
- Joined: 02 Oct 2006, 17:01 Mon
- Location: Беларусь, Гомель
- Contact:
1. "Ложная" закачка будет создаваться при условии, что используется пауза между закачками и что "настоящих" закачек осталось одна.OneChel wrote: Тогда вопрос - как часто нужно будет удалять лишнюю закачку при условии, что цикл запуска - остановки "правильной" закачки будет составлять меньше минуты? Как может помешать то обстоятельство, что свой рабочий комп я вижу, всё-таки, не чаще пяти раз в неделю и не дольше восьми часов в сутки?
2. Удалять "ложную" закачку можно будет после завершения всех "настоящих". А можно будет и не удалять - пусть себе висит в списке, плагин будет цепляться за неё автоматически.
Свой рабочий комп я вижу не чаще 7 раз в неделю (обычно не чаще 5) и не дольше 16 часов в сутки (обычно не дольше 8,5).
Думается, ни то, ни это обстоятельство никак не помешает. Но, разумеется, всё нуждается в проверке.
127.0.0.1 был предложен в качестве примера - можно задать любую несуществующую ссылку, на которую будет "ломиться" DM.OneChel wrote:
И второе. На моём компе крутится проксик для раздачи инета в сетку, при этом он не только имеет айпи моего компа со стороны сетки, но и откликается на 127.0.0.1. Если "лишнюю" загрузку объявить с этого айпи - у него мозги не съедут?
Главное, чтобы он не завершил эту закачку с ошибкой раньше, чем нужно будет включать "настоящую". Надеюсь, у Вас пауза для восстановления занимает менее 5 минут?
XPProSP3, DM 5.15.2.1341, Pale Moon 20.0.1, Opera Next 12.15 (1748) RTFM & STFF
Если Вы не можете быть хорошим примером, то Вам просто придётся служить ужасным предостережением. © Кэтрин Эйрд
Если Вы не можете быть хорошим примером, то Вам просто придётся служить ужасным предостережением. © Кэтрин Эйрд
Про 127.0.0.1 был типа тонкий намёк на толстые обстоятельства, что вроде было бы неплохо предоставить возможность вручную выбрать подходящий айпи для "ложных" бомбардировок, не заморачивая голову рабочему софту. Отрадно, что намёк был понят и адекватно воспринят.
Время восстановления канала примерно 40 секунд, и, хотя пров постоянно меняет параметры алгоритма сужения/расширения канала, идеальный интервал остаётся пока где-то в районе этой цифры. Это, кстати, одно из препятствий полноценного использования адвенседшедулера - там дискретность настройки не меньше минуты, а мне нужно меньше.
А "ложная" закачка мне совсем не помешает. Я хотел уж было отписаться на тему что нельзя ли её совсем не трогать (ну, висит - и пусть себе висит - кушать не просит), как Вы меня опередили. Вопрос снялся сам собой, как дурацкий.
Время восстановления канала примерно 40 секунд, и, хотя пров постоянно меняет параметры алгоритма сужения/расширения канала, идеальный интервал остаётся пока где-то в районе этой цифры. Это, кстати, одно из препятствий полноценного использования адвенседшедулера - там дискретность настройки не меньше минуты, а мне нужно меньше.
А "ложная" закачка мне совсем не помешает. Я хотел уж было отписаться на тему что нельзя ли её совсем не трогать (ну, висит - и пусть себе висит - кушать не просит), как Вы меня опередили. Вопрос снялся сам собой, как дурацкий.
- Korney San
- Гуру
- Posts: 1116
- Joined: 02 Oct 2006, 17:01 Mon
- Location: Беларусь, Гомель
- Contact:
Не айпи, а линк. Хоть к себе на комп, хоть на кудыкину гору, типа http://fake_you.com/fake_you_again.rar - главное, чтобы не оказалось этого файла в реале.OneChel wrote:было бы неплохо предоставить возможность вручную выбрать подходящий айпи для "ложных" бомбардировок,
Будет в настройках.
Вы подсказали мне одну мозговыносящую мысль...OneChel wrote: Время восстановления канала примерно 40 секунд, и, хотя пров постоянно меняет параметры алгоритма сужения/расширения канала, идеальный интервал остаётся пока где-то в районе этой цифры.
XPProSP3, DM 5.15.2.1341, Pale Moon 20.0.1, Opera Next 12.15 (1748) RTFM & STFF
Если Вы не можете быть хорошим примером, то Вам просто придётся служить ужасным предостережением. © Кэтрин Эйрд
Если Вы не можете быть хорошим примером, то Вам просто придётся служить ужасным предостережением. © Кэтрин Эйрд