Плагин "Rebooter"

Все что касается разработки, отладки, использования подключаемых модулей.

Moderators: Korney San, marcipan

User avatar
Korney San
Гуру
Posts: 1116
Joined: 02 Oct 2006, 17:01 Mon
Location: Беларусь, Гомель
Contact:

Плагин "Rebooter"

Post by Korney San »

Плагин предназначен для перезагрузки или выключения компьютера в случае, если продолжительное время активные закачки имеют нулевую скорость, а другими способами побороть это не получается.
Можно включить принудительную перезагрузку/выключение (нет вопросов на сохранение, отключение и т.п.).
Время проверки наличия нулевой скорости настраивается от 5 с до 1 ч.

Версия 0.2.0.2 - добавлены: возможность проверять объём скачанного по сумме всех закачек; закачки, перешедшие в состояние "Ошибка" за время любого отсчёта, фиксируются и будут запущены при следующем запуске плагина. Объём задаётся для 1 секунды (в 0.2.0.1 для 5 секунд).

Плагин выполняет перезагрузку/выключение в Win9x/NT/2000/XP (проверено на Win98SE и WinXP).

Версия 0.3 - дальнейшая обкатка сервис-ориентированной модели модулей.

0.3 (26.11.2009) Rebooter Extended (Beta)
[+] Возможность хранить настройки в INI, а не только в реестре.
[!] Сервис-ориентированная структура.
[!] Окно подтверждения вынесено в модуль-сервис.
[!] Функция перезагрузки вынесена в модуль-сервис.
[!] Получение объёма скачанного из модуля-сервиса.
[+] Возможность проверять размер папки (через модуль-сервис).
[+] Возможность задать до 3-х приложений с настройкой периода и количества запусков для каждого.
Примечания.
1. Перед установкой RebooterEx.dll удалите Rebooter.dll!
2. Если модуль срабатывает в период, не охваченный ни одним приложением, просто выполняется действие.
3. При первом запуске версии 0.3 не все настройки будут доступны. Сохраните настройки, откройте заново и выберите ещё раз.
Last edited by Korney San on 19 Jan 2009, 13:31 Mon, edited 5 times in total.
XPProSP3, DM 5.15.2.1341, Pale Moon 20.0.1, Opera Next 12.15 (1748) RTFM & STFF
Если Вы не можете быть хорошим примером, то Вам просто придётся служить ужасным предостережением. © Кэтрин Эйрд
User avatar
Korney San
Гуру
Posts: 1116
Joined: 02 Oct 2006, 17:01 Mon
Location: Беларусь, Гомель
Contact:

Post by Korney San »

Доводя до ума альфу OSD, взял кусок кода из этого плагин и обнаружил в нём глюк. Потому - быстренький багфикс.
Ссылка та же, у обновлённого архива время создания 17:41
XPProSP3, DM 5.15.2.1341, Pale Moon 20.0.1, Opera Next 12.15 (1748) RTFM & STFF
Если Вы не можете быть хорошим примером, то Вам просто придётся служить ужасным предостережением. © Кэтрин Эйрд
alexejsev
Posts: 6
Joined: 29 Feb 2008, 0:10 Fri

Post by alexejsev »

:D :D :D
ОТЛИЧНО !!!!!
Это именно то, что мне было нужно ! Всё получилось именно так, как я хотел !
Korney San, спасибо тебе огромное !!! Размер моей благодарности не знает границ :!: :!: :!:

P.S. Для повышения популярности плагина можно сделать 2 варианта действия - перезагрузить или выключить компьютер.
User avatar
Korney San
Гуру
Posts: 1116
Joined: 02 Oct 2006, 17:01 Mon
Location: Беларусь, Гомель
Contact:

Post by Korney San »

alexejsev wrote:Korney San, спасибо тебе огромное !!! Размер моей благодарности не знает границ :!: :!: :!:
Ну если действительно не знает - в архиве в текстах есть номера кошельков WebMoney... ;)
alexejsev wrote: P.S. Для повышения популярности плагина можно сделать 2 варианта действия - перезагрузить или выключить компьютер.
Насколько я помню, в планировщике есть функция "Выключить".

P.S. А то мне уже надо разрабатывать связи между плагинами - чтобы не дублировать функции...
XPProSP3, DM 5.15.2.1341, Pale Moon 20.0.1, Opera Next 12.15 (1748) RTFM & STFF
Если Вы не можете быть хорошим примером, то Вам просто придётся служить ужасным предостережением. © Кэтрин Эйрд
alexejsev
Posts: 6
Joined: 29 Feb 2008, 0:10 Fri

Post by alexejsev »

в архиве в текстах есть номера кошельков WebMoney...
я тоже об этом подумал - надо мне кошелёк сделать :wink:
в планировщике есть функция "Выключить"
она выключает комп при завершении закачек, а этот плагин будет выключать, если сервер перестанет отвечать на запросы или у провайдера скорость до 0 упадёт...
User avatar
Korney San
Гуру
Posts: 1116
Joined: 02 Oct 2006, 17:01 Mon
Location: Беларусь, Гомель
Contact:

Post by Korney San »

Сделал версию 0.1.0.1 (ссылка в шапке темы).
Поддерживает перезагрузку или выключение.
XPProSP3, DM 5.15.2.1341, Pale Moon 20.0.1, Opera Next 12.15 (1748) RTFM & STFF
Если Вы не можете быть хорошим примером, то Вам просто придётся служить ужасным предостережением. © Кэтрин Эйрд
x2088
Гуру
Posts: 556
Joined: 26 Jul 2007, 19:28 Thu
Contact:

Post by x2088 »

Korney San wrote:P.S. А то мне уже надо разрабатывать связи между плагинами - чтобы не дублировать функции...
Я об этом тоже подумал - каждую отдельную функцию в отдельную DLL и собрать всё в кучу ч.з собственное Korney San Plugin API for DM - KSPAPIDM.DLL. В конечном счете это будет выглядеть как куча отдельных DLL-ек связанных между собой только ч.з это API, но зато гибкость какая и ничего не дублируется.
User avatar
Korney San
Гуру
Posts: 1116
Joined: 02 Oct 2006, 17:01 Mon
Location: Беларусь, Гомель
Contact:

Post by Korney San »

x2088 wrote:
Korney San wrote:P.S. А то мне уже надо разрабатывать связи между плагинами - чтобы не дублировать функции...
Я об этом тоже подумал - каждую отдельную функцию в отдельную DLL и собрать всё в кучу ч.з собственное Korney San Plugin API for DM - KSPAPIDM.DLL. В конечном счете это будет выглядеть как куча отдельных DLL-ек связанных между собой только ч.з это API, но зато гибкость какая и ничего не дублируется.
Умгу... Ребутер превратится в надстройку к EAA, AutoSwitch сможет перезагружать компьютер,.. :)
А потом разрабы сделают из DM подобие Миранды: модуль закачек, модуль истории, модуль корзины, модуль прокси... :)
XPProSP3, DM 5.15.2.1341, Pale Moon 20.0.1, Opera Next 12.15 (1748) RTFM & STFF
Если Вы не можете быть хорошим примером, то Вам просто придётся служить ужасным предостережением. © Кэтрин Эйрд
x2088
Гуру
Posts: 556
Joined: 26 Jul 2007, 19:28 Thu
Contact:

Post by x2088 »

Если всё правитьно сделать, то нет...

То, что сейчас есть плагином и имеет GUI может пользоваться ч.з этот т.н API инструкциями в др. файлах. Т.е ч.з т.к API к к.л файлу с нужным набором инструкций, для выполнения определённого действия, посылается команда из "плагина", затем так или иначе (прямиком или ч.з API) результат выполнения возвращается в "плагин", после чего "плагин" посылает эти данные в следующий файл с др. набором инструкций, необходимых для продолжения выполнения задуманного и т.д пока не будет получен конечный результат.

А AutoSwitch сможет перезагружать комп если в нём это будет запрограммировано, лучше всего, сразу после добавления закачки и установке соединения с сервером, причем не зависимо от того, что надо пользователю и без предупреждения. И не дай бог DM устеет получить размер файла.

А достоинство этого на лицо - обновляя любую часть кода, вы обновляете его во всех плагинах сразу.
Огромная гибкость.
И места меньше занимать это дело будет, т.к не придётся что-то дублировать.

Если в плагины добавить языковые файлы, то они будут по статусу не хуже официальных.
User avatar
Korney San
Гуру
Posts: 1116
Joined: 02 Oct 2006, 17:01 Mon
Location: Беларусь, Гомель
Contact:

Post by Korney San »

x2088 wrote:То, что сейчас есть плагином и имеет GUI может пользоваться ч.з этот т.н API инструкциями в др. файлах. Т.е ч.з т.к API к к.л файлу с нужным набором инструкций, для выполнения определённого действия, посылается команда из "плагина", затем так или иначе (прямиком или ч.з API) результат выполнения возвращается в "плагин", после чего "плагин" посылает эти данные в следующий файл с др. набором инструкций, необходимых для продолжения выполнения задуманного и т.д пока не будет получен конечный результат.
Ты меня заставил посмотреть на этот вопрос под другим углом... и понять, что можно объединить EAA, Auto Switch, Rebooter и даже After Download в одну оболочку по выполнению неких действий (с интерфейсом, похожим на After Download). Ведь что такое все плагины? Это выполнение некого действия при совпадении некоторых условий, не больше.
OSD выпадает из общей линейки, т.к. имеет графическую часть. :)
x2088 wrote: А достоинство этого на лицо - обновляя любую часть кода, вы обновляете его во всех плагинах сразу.
Огромная гибкость.
И места меньше занимать это дело будет, т.к не придётся что-то дублировать.
Что верно, то верно.
x2088 wrote: Если в плагины добавить языковые файлы, то они будут по статусу не хуже официальных.
Фигня, что каждый мой плагин УЖЕ идёт с локализацией, предложенной в DM (и даже чуть больше - Русский/Английский/Транслит) ? Хочется плагинов на укрАинском? ;)
XPProSP3, DM 5.15.2.1341, Pale Moon 20.0.1, Opera Next 12.15 (1748) RTFM & STFF
Если Вы не можете быть хорошим примером, то Вам просто придётся служить ужасным предостережением. © Кэтрин Эйрд
x2088
Гуру
Posts: 556
Joined: 26 Jul 2007, 19:28 Thu
Contact:

Post by x2088 »

Только китайский традиционный!!! А серьёзно, если языки будут в отдельном файле, то его может взять хто угодно и перевести его на свой любимый албано-монгольский диалект тайского языка... вдруг в загашнике от этого бамажек больше станет...

То, что имеет GUI ("плагин") - посылает инструкции тому что не имеет, а также принимает промежуточные результаты и перенаправляет их дальше, а то что не имеет GUI - "думает" что и как делать с тем, что ему сунули, а затем по ID "сувавшего" или тому, кому сказал передать эту бойду сувавший (передать следующему с таким-то ID) передаёт/возвращает эти данные дальше. Конечный результат возвращается в "плагин" (plugin API, а тем более отдельный выдранный кусок кода не может знать, что весь набор действий закончен - это извесно только "плагину"), а из него в DMAPI.
OSD выпадает из общей линейки, т.к. имеет графическую часть. :)
При таком подходе от сюда ничего не выпадает, ппри таком подходе возрастает скорость написания подобной бойды, а особенно, если выясняется, что надо было сделать что-то с точностью наоборот.
ponand
Гуру
Posts: 134
Joined: 15 Jun 2008, 2:55 Sun
Location: Ставропольский край

Post by ponand »

Korney San wrote:Плагин предназначен для перезагрузки или выключения компьютера в случае, если продолжительное время активные закачки имеют нулевую скорость, а другими способами побороть это не получается.
Можно включить принудительную перезагрузку/выключение (нет вопросов на сохранение, отключение и т.п.)
Если не очень трудно и есть свободное время добавте пожалуйста в плагин функцию для запуска программы с пораметрами и с отдельной настройкой времени на запуск
User avatar
Korney San
Гуру
Posts: 1116
Joined: 02 Oct 2006, 17:01 Mon
Location: Беларусь, Гомель
Contact:

Post by Korney San »

ponand wrote:Если не очень трудно и есть свободное время добавте пожалуйста в плагин функцию для запуска программы с пораметрами и с отдельной настройкой времени на запуск
Вообще-то эти функции есть в расширенном планировщике. Не вижу связи с плагином.
XPProSP3, DM 5.15.2.1341, Pale Moon 20.0.1, Opera Next 12.15 (1748) RTFM & STFF
Если Вы не можете быть хорошим примером, то Вам просто придётся служить ужасным предостережением. © Кэтрин Эйрд
ponand
Гуру
Posts: 134
Joined: 15 Jun 2008, 2:55 Sun
Location: Ставропольский край

Post by ponand »

Я и предлогаю зделать как в плонировщике только для другой сетуации в плонировщике запуск программы(файла) происходит по времени а из плогина будет происходить в случаи продолжительного простоя активной закачки
в идеале это будет примерно так: через скажем секунд 20 запускается программа(фаил) для реконекта модема а если реконект не помог и закачка не востоновилась выполняется перезагрузка
П.С этот плогин постоянно использую с июня месяца и с месяц назад новерно из-за частых перезогрузок во время перезогрузки начал все чаще и чаще появлятся синий экран.
И еще заметил одну особенность при работающем ДМ с потключенным плагином не получается зделать обычную перезагрузку комп виснет так и должно быть или это баг?
User avatar
Korney San
Гуру
Posts: 1116
Joined: 02 Oct 2006, 17:01 Mon
Location: Беларусь, Гомель
Contact:

Post by Korney San »

ponand wrote:Я и предлогаю зделать как в плонировщике
... из плогина будет происходить в случаи продолжительного простоя активной закачки
...
Если успею за следующую неделю - сделаю.
ponand wrote: П.С ... начал все чаще и чаще появлятся синий экран.
... это баг?
Время чистить/переустанавливать систему пришло...
XPProSP3, DM 5.15.2.1341, Pale Moon 20.0.1, Opera Next 12.15 (1748) RTFM & STFF
Если Вы не можете быть хорошим примером, то Вам просто придётся служить ужасным предостережением. © Кэтрин Эйрд
Post Reply