dpe v1.4.33
DPE Framework - Data Process Engine
Основное функциональное назначение деплой и управление запущенным кодом в сети узлов запущенных на различных платформах, таких как window, unix, android, ios, chrome app, chrome plugin. Поддерживает создание функций на языках JavaScript, Python, Java, C++.
Архитектурно состоит из следующих частей:
- Хост-сервис - обвязка для запуска и управления фоновым сервисом который содержит в себе ядро и загруженные приложения
- Ядро - набор связанных модулей исполняющихся в общем контексте обеспечивающих базовые функциональные возможности сервиса и основной жихненный цикл приложения
- Приложение - зависимый от конкретного ядра набор функций определяющих бизнес-логику и выполняющих какие-то полезные действия
- Компонент - составная часть ядра и приложений, по сути каждая отдельная функция которая может быть вызвана из вне
- Сигнал - запрос на исполнение функций в системе, представляет собой JSON объект, в котором каждый ключ это имя функции которую необходимо вызвать. Также содержит мета-данные начинающиеся с префикса _ и теги начинающиеся с префикса @
- Процесс - набор функций исполняющихся в определенном порядке для достижения некоторой цели в общем контексте исполнения
Ресурс - объект данных в общем контексте процесса
Как начать
Установить глобально npm пакет с фреймворком
sudo npm install -g dpeСконфигурировать сервис в системе (вызвать в любой директории)
dpe service configureДобавить зависимости
dpe app add -c -g https://domain.com/path/to.git name1 dpe app add -a -f ../path/to/directory/dpe.json name2 dpe app add -m -n npm-module-name name3Опции: -c, --core добавляет функции с уровнем исполнения ядра (возможно все) -m, --module добавляет функции с уровнем исполнения модуля (нормальный) -a, --app добавляет функции с уровнем исполнения приложения (песочница)
-g, --git получить зависимость из GIT, должен содержать dpe.json в корне -f, --file загрузить локально dpe.json -n, --npm получить из NPM
Запустить сервис с выбранными зависимостями
dpe service start name1 name2Создать приложение в требуемой директории
dpe initСоздать *.js файл с функцией
```bash touch test.js ```содержимое test.js
```javascript module.exports.A = function (env, args, callback) { console.log('HELLO WORLD!'); callback(null, true); }; ```Добавить его в dpe.json в этой же директории, файл должен выглядеть следующим образом
{ "test": { "require": "./test.js" } }Добавить приложение в сервис (исполнять в директории приложения)
dpe app add -a -f ./dpe.jsonВызвать функцию
dpe app call test.A
FAQ
- Как передать аргумент в функцию - dpe app call test -a "argName=argValue"
Как определить порядок вызова функций в сигнале
{ "A": { "@before": "B" "arg1": "test" }, "B": { "@target": true, "arg2": 100 } }
В данном случае мы помещаем результат исполнения функции в одноименный ресурс, а после читаем его при следующем вызове. Функции содержащие в аргументах ресурсы не будут исполнены до тех пор пока ресурс не будет определен.
Как получить состояние процесса
dpe app call process.state -a "pid=..." dpe app call process.listКак остановить исполнение процесса
dpe app call process.kill -a "pid=..."
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago