Многопоточность. Универсальный «Менеджер потоков» 2.1

 
 Обновления
 
 Обновление "Менеджер потоков" 2.1.0

Изменения в сравнении с версией 2.0.7:
    Алгоритмы:

  • Увеличена скорость обрабконфигурацииотплатформаки зависимых объектов на 15-25%, в ряде случаев до 50%;
  • Полностью переписан весь код;
  • Код проверен программу 1С с помощью АПК 1.2  (исправлено 350+ замечаний и не соответсвий стандартам 1С, осталось 9 :));
  • Работа с графом "неограниченного" размера;
  • Приоритезирована раздачи задан обрабконфигурацииотплатформакиий потокам;
  • Реализована возможность в событиях (не во всех) дополнять "Параметры для объекта" - см. Руководство.
  • Теперь поток, а не менеджер контролирует количество попыток обрабконфигурацииотплатформаать объект;
  • События потоков теперь выполняются в "Попытка-Исключение" - позволяет избежать лишних перезапусков потоков;
  • Модуль "мпОсновнаяПрограмма" - изменил идентификатор на: "мпОсновнаяПрограммаВызовСервера";
  • Процедуры и функции уменьшены в размерах, для сокращения контекста (средний размер 17 строк; минимум 3 строки, максимум 73 строки);
  • Все алгоритмы разнесен по областям;
  • Шаблон модуля событий разработплатформачика теперь выделен в отдельный модуль: "мпСобытияРазработплатформачикаШаблон";

        Исключено:

  • механизм мониторинга (появится в след. релизах);
  • механизм "безпотокового" выполнения.
  • возможность написать весь код в модуле объекта обрабконфигурацииотплатформаки (противоречит работплатформае в безопасном режиме).

    Транспорт:

  • Обмен данными теперь происходит пакетами;

    События:

  • Изменены:

            Изменен состав параметров всех событий (требуется корректировка событий разработплатформачика). - см. Руководство.
            Имена:

  • ПриПолученииРесурсов             ->    ПриРасчетеРесурсов
  • ПриОбработплатформакеДействияПотока   ->    ПриОбработплатформакеПотоком
  • ПриОбработплатформакеОтвета                 ->    ПриОбработплатформакеРезультата
  • ПриОбработплатформакеМассиваОбработплатформаанныхФагментовКоллекции     ->    ПриСборкеФрагментовКоллекции        
  • Добавлены:
    • ПриПроизвольнойОбработплатформакеГрафа - см. Руководство.
    • ПриСохран внешние компонентыенииГрафа - см. Руководство.
  • Исключены:
    •  ПриДобавленииВОчередьОбработплатформаки - теперь "Менеджер потоков" сам добавляет объект, если есть ресурсы, так же есть параметр "УчитыватьОбъектыБезРесурсов" - см. Руководство;
    •  ПриОбработплатформакеДополненногоФагментаКоллекции - теперь и обрабконфигурацииотплатформаку, и дополнение можно осуществить через метод "Обработплатформаать коллекцию";
    •  ПриПолученииМестаХраненияФайловМониторинга - т.к. исключены механизмы мониторинга, данное событие утратило свою силу;

    Параметры "Менеджера потоков":

  • Изменены:
    • Структура хран внешние компонентыения параметров (полная структура параметров предоставлена в общем макете "мпПолнаяСтруктураПараметров")
    • Имена:
      • КоличествоЭлементовКолекцииНаПоток ->    КоличествоЭлементовКолекцииНаОбъект
      • РазрезМенеджера                                  ->    ИдентификаторМенеджера
  • Добавлены:
    • Общие.КоличествоОбъектовВПакете;
    • Разработплатформачик.Общие;
    • Разработплатформачик.ПоСобытиям;
    • ОбработплатформаатьКоллекцию.СобратьКоллекциюИзФрагментов;
    • ОбработплатформаатьКоллекцию.КоличествоЭлементовКоллекцииНаОбъект;
    • ПолучитьГраф_Gephi.Каталог;
    • Граф.ОграничениеРазмера;
    • Граф.УчитыватьОбъектыБезРесурсов;
  • Исключены:
    • ДинамическийРассчетКоличестваПотоков              ->    Данный параметр больше не нужен, см. Руководство (параметр "КоличествоЭлементовКолекцииНаОбъект")
    • КоэффициентКратностиОчередиПотоковКПотокам -> теперь "Менеджер потоков" работплатформаает с полным графом;
    • ВестиМониторингМенеджераПотоков, т.к. механизм мониторинга исключен;
    • ВестиМониторингПорядкаОбработплатформакиОбъектов, т.к. механизм мониторинга исключен;
    • ВестиМониторингОчередиНаОбработплатформаку, т.к. механизм мониторинга исключен;

    Прочие изменения:

  • добавлены методы и свойства формировтехничскоеания файлов для программ анализа графов;
  • обрабконфигурацииотплатформаки демонстрирующие возможности "Менеджера потоков" реализованы более наглядно и обособленно друг от друга;
  • Восстановление партий УПП (https://infostart.ru/public/1119110/) так же поддерживает версию 2.1.0
 
 BagFix
  •  01.06.2020
    • Исправлена проблема с автосборкой "ТаблицЗначений"
 
 Обновление "Менеджер потоков" 2.0.7
 
 Обновление 12.03.2019
 
 Обновление "Менеджер потоков" 2.0.6
 
 Обновление "Менеджер потоков" 2.0.5
 
 Добавлена презентация с ISE 2018
 
 Другие статьи и разработплатформаки на данную тему:

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

Сразу договоримся, если в тексте будет указано «v1» - это отсылка к реализации в первой версии, если «v2.х» - к текущей.

 

Очень кратко, о чем речь…

Фреймворк в виде одного общего модуля, позволяющего при получении объектов на обрабконфигурацииотплатформаку запускать их в несколько потоков. Особенности:

  • Нет необходимости рассчитывать «порции» для обрабконфигурацииотплатформаки;
  • Нет необходимости организовывать файловый обмен между потоками;
  • Возможность запускать несколько менеджеров потоков одновременно, при этом потоки одного менеджера, могут запускать новые менеджеры со своими задачами и потоками;
  • Можно выстраивать граф зависимости объектов, что позволяет, например, избегать взаимоблокировок и/или организовать восстановление партий (на нашем предприятии удалось добиться 10х+ ускорения при 10 потоках в рабочее время – 200+ активных пользователей - Результаты работплатформаы механизма);
  • Все необходимые "вмешательство" в алгоритмы происходят с помощью событий;
  • Возможность описывать алгоритмы событий, как в модуле менеджера, так и в любом другом модуле БД (предпочтительно), а также во внешней обрабконфигурацииотплатформаке.
  • Автоматический рестарт потока в случае ошибок;
  • Контроль за количеством рестартов по каждому объекту;
  • Возможность получать «ответы» от потоков;
  • Возможность контролировать работплатформау с помощью «Инструментов разработплатформачика» или иных отчетов;
  • Возможность срочного прерывания работплатформаы;
  • И многое другое…

так было в «v1»

 
 Основные изменения v2.0 (расширение функционала v1):
 
 Основные изменения v2.1 (расширение функционала прошлых версий):
  • Увеличена скорость обрабконфигурацииотплатформаки зависимых объектов на 15-25%, в ряде случаев до 50% по сравнению с версией "v2.0";
  • Полностью переписан весь код;
  • Код проверен программу 1С с помощью АПК 1.2  (исправлено 350+ замечаний и не соответсвий стандартам 1С, осталось 9 :));
  • Работа с графом "неограниченного" размера;
  • Объекты для обрабконфигурацииотплатформаки теперь передаются пакетами, а не по одному;
  • Приоритезирована раздача задан обрабконфигурацииотплатформакиий потокам;
  • Реализована возможность в событиях (не во всех) дополнять "Параметры для объекта" для передачи в другие события - см. Руководство.
  • Теперь поток, а не менеджер контролирует количество попыток обрабконфигурацииотплатформаать объект;
  • События потоков теперь выполняются в "Попытка-Исключение" - позволяет избежать лишних перезапусков потоков;
  • Добавлены методы для формировтехничскоеания файлов с данными для построения и анализа графов;
    • ПолучитьГраф_Gephi();
    • ПроизвольнаяОбработплатформакаГрафа().

ВАЖНО!!!
Изменен состав и имена событий, а так же переименованы некоторые экспортные методы, в связи с чем, Ваши «события  разработплатформачика» реализованные на прошлых версиях «менеджера потоков» потребуют изменений, но незначительные. 
Для примера, корректировка событий разработплатформачика для «Восстановления партий» заняла примерно 10-15 мин с учетом анализа (80%) и написанием кода(20%).

Разработплатформака проводилось на 1С:Предприятие 8.3 (8.3.9.1850) 32x; Режим совместимости 8.2.15

Теперь обо всем по порядку в деталях и с картинками...

 
 
 Архитектура
 
 Способы обрабконфигурацииотплатформаки
 
 События разработплатформачика
 
 Примеры
 
 Особенности при работплатформае в транзакции (Обработплатформака проведения)

Условия поставок:

Скриншоты


00 Лого.PNG

01_1 Архитектура-проблемы.png

01_2 Архитектура-решения.png

06_8 Ресурсы.png

7 поставки.PNG

01 Методы и события.png

02_1 ОбработатьОбъект.png

02_2 ОбработатьОбъект Ошибка при обработке.png

02_3 ОбработатьОбъект Передача частных параметров.png

02_4 ОбработатьОбъект Файлы графа Gephi.png

02_5 ОбработатьОбъект Файлы графа произвольная программа.png

02_6 Обработка коллекции Простая.png

02_7 Обработка коллекции Автосборка.png

02_8 Обработка коллекции Автосборка и передача общих параметров.png

02_9 Обработка коллекции Произвольная сборка.png

02_10 Обработка коллекции Произвольная сборка с выводом.png

Все

Наименование Файл Версия Размер Кол. Скачив.
Руководство
.pdf 1,13Mb
118
.pdf 2.1.0 1,13Mb 118 Бесплатно
Многопоточность. Универсальный «Менеджер потоков» 2.1
2.1.0(с) 5000 руб.

Моментальная
доставка

Менеджер потоков

Наименование Файл Версия Размер Кол. Скачив.
Многопоточность. Универсальный «Менеджер потоков» 2.1 (Демо): (Только демонстрационные обработки и модули событий разработчика к ним)
.zip 1,95Mb
131
.zip 2.1.0 1,95Mb 131 Бесплатно
Многопоточность. Универсальный «Менеджер потоков» 2.1
.zip 1,98Mb
163
.zip 2.1.0(c) 1,98Mb 163 Скачать

Тех. поддержка

Наименование Файл Версия Размер Кол. Скачив.
Доработка продукта – 1 час
3300 руб.
Продление предоставления обновлений - 1 год.
1700 руб.
Продление тех. поддержки на 3 мес.
2300 руб.
Продление тех. поддержки на 6 мес.
4300 руб.
Продление тех. поддержки на 12 мес.
8200 руб.

Полная версия

© ООО "Инфостарт", 2006-2023 www.infostart.ru