hub.oscript.io
hub.oscript.io

workflowпакет

Библиотека для работы с бизнес процессами в OScript

автор: Khorev Alekseyскачиваний: 109репозиторий: github.com/oscript-library/workflow

Пакет лежит в основном пуле хаба, а opm знает этот хаб по умолчанию: короткой формы достаточно.

opm install workflow

Скачанный файл ставится командой opm install -f <файл> — сеть для этого уже не нужна.

Описание

workflow

Stars Release [Открытый чат проекта https://gitter.im/EvilBeaver/oscript-library](https://gitter.im/EvilBeaver/oscript-library)

Build Status Coverage Status

Библиотека для workflow

Короткое название workflow

Возможности

Данная библиотека предназначена для формирования простых и условых бизнес-процессов выполнения методов в OScript. Реализует основные классы: БизнесПроцесс - основной класс работы ЗадачаБизнесПроцесса - основная задача бизнес процесса УсловиеБизнесПроцесса - задача с условием бизнес процесса, выполняет в зависимости от условия разные ветки бизнес процесса (по факту вложенные бизнес процессы)

Установка

Для установки необходимо:

  • Скачать файл workflow*.ospx из раздела releases
  • Воспользоваться командой:
opm install -f <ПутьКФайлу>

или установить с хаба пакетов

opm install workflow

Пример работы

  • Выполнение задач с использованием нескольких задач

	БизнесПроцесс = Новый БизнесПроцесс("Тестовый бизнес процесс");
	БизнесПроцесс.ДобавитьЗадачу("Задача1", ЭтотОбъект, "ПроцедураБезПараметров");
	БизнесПроцесс.ДобавитьЗадачу("Задача2", ЭтотОбъект, "ПроцедураБезПараметров");
	БизнесПроцесс.ДобавитьЗадачу("Задача3", ЭтотОбъект, "ПроцедураБезПараметров");
	БизнесПроцесс.Запустить();

	Ожидаем.Что(БизнесПроцесс.Завершен(), "Бизнес процесс должен быть завершен").ЕстьИстина();

  • Выполнение задач с использованием общего контекста

	МассивПараметровЗадачи = Новый Массив();
	МассивПараметровЗадачи.Добавить("Параметр1ИзМассива");

	КонтекстВыполнения = БизнесПроцессы.НовыйКонтекстВыполнения();

	БизнесПроцесс = Новый БизнесПроцесс("Тестовый бизнес процесс");
	БизнесПроцесс.ДобавитьЗадачу("Задача1", ЭтотОбъект, "ПроцедураПомещенияВКонтекстЗначения", МассивПараметровЗадачи, КонтекстВыполнения);
	БизнесПроцесс.ДобавитьЗадачу("Задача2", ЭтотОбъект, "ПроцедураПолученияИзКонтекстаЗначения", МассивПараметровЗадачи, КонтекстВыполнения);
	БизнесПроцесс.Запустить();

  • Выполнение задач с условием выполнения

	МассивПараметровЗадачи = Новый Массив();
	МассивПараметровЗадачи.Добавить(Истина);

	БизнесПроцесс = Новый БизнесПроцесс("Тестовый бизнес процесс");
	КонтекстБизнесПроцесса = БизнесПроцесс.ПолучитьКонтекст();
	БизнесПроцесс.ДобавитьЗадачу("Задача1", ЭтотОбъект, "ПроцедураСКонтекстом", МассивПараметровЗадачи, КонтекстБизнесПроцесса);
	Условие1 = БизнесПроцесс.НовоеУсловие("Условие1");

	МассивПараметровЗадачи = Новый Массив();
	МассивПараметровЗадачи.Добавить(Ложь);
	Условие1.ДляЗначения(Истина).ДобавитьЗадачу("ЗадачаИстины", ЭтотОбъект, "ПроцедураСКонтекстом", МассивПараметровЗадачи, КонтекстБизнесПроцесса);
    Условие1.ПоУмолчанию().ДобавитьЗадачу("ЗадачаПоУмолчанию", ЭтотОбъект, "ПроцедураСКонтекстомПоУмолчанию", МассивПараметровЗадачи, КонтекстБизнесПроцесса);

	БизнесПроцесс.Запустить();

Публичный интерфейс

Документация публичного интерфейса (в разработке)

Доработка

Доработка проводится по git-flow. Жду ваших PR.

Лицензия

Смотри файл LICENSE.

В пакете README нет — показан README из репозитория, из ветки по умолчанию.