1.4.33 • Published 8 years ago

dpe v1.4.33

Weekly downloads
3
License
MIT
Repository
github
Last release
8 years ago

DPE Framework - Data Process Engine

Основное функциональное назначение деплой и управление запущенным кодом в сети узлов запущенных на различных платформах, таких как window, unix, android, ios, chrome app, chrome plugin. Поддерживает создание функций на языках JavaScript, Python, Java, C++.

Архитектурно состоит из следующих частей:

  1. Хост-сервис - обвязка для запуска и управления фоновым сервисом который содержит в себе ядро и загруженные приложения
  2. Ядро - набор связанных модулей исполняющихся в общем контексте обеспечивающих базовые функциональные возможности сервиса и основной жихненный цикл приложения
  3. Приложение - зависимый от конкретного ядра набор функций определяющих бизнес-логику и выполняющих какие-то полезные действия
  4. Компонент - составная часть ядра и приложений, по сути каждая отдельная функция которая может быть вызвана из вне
  5. Сигнал - запрос на исполнение функций в системе, представляет собой JSON объект, в котором каждый ключ это имя функции которую необходимо вызвать. Также содержит мета-данные начинающиеся с префикса _ и теги начинающиеся с префикса @
  6. Процесс - набор функций исполняющихся в определенном порядке для достижения некоторой цели в общем контексте исполнения
  7. Ресурс - объект данных в общем контексте процесса

Как начать

  1. Установить глобально npm пакет с фреймворком

    sudo npm install -g dpe
  2. Сконфигурировать сервис в системе (вызвать в любой директории)

    dpe service configure
  3. Добавить зависимости

    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

  4. Запустить сервис с выбранными зависимостями

    dpe service start name1 name2
  5. Создать приложение в требуемой директории

    dpe init
  6. Создать *.js файл с функцией

    ```bash
    touch test.js
    ```

    содержимое test.js

    ```javascript
    module.exports.A = function (env, args, callback) {
        console.log('HELLO WORLD!');
        callback(null, true);
    };
    ```
  7. Добавить его в dpe.json в этой же директории, файл должен выглядеть следующим образом

    {
        "test": {
            "require": "./test.js"
        }
    }
  8. Добавить приложение в сервис (исполнять в директории приложения)

    dpe app add -a -f ./dpe.json
  9. Вызвать функцию

    dpe app call test.A

FAQ

  1. Как передать аргумент в функцию - dpe app call test -a "argName=argValue"
  2. Как определить порядок вызова функций в сигнале

    {
        "A": {
            "@before": "B"
            "arg1": "test"
        },
        "B": {
            "@target": true,
            "arg2": 100
        }
    }

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

  1. Как получить состояние процесса

    dpe app call process.state -a "pid=..."
    dpe app call process.list
  2. Как остановить исполнение процесса

    dpe app call process.kill -a "pid=..."
1.4.33

8 years ago

1.4.32

8 years ago

1.4.31

8 years ago

1.4.30

8 years ago

1.4.29

8 years ago

1.4.28

8 years ago

1.4.27

8 years ago

1.4.26

8 years ago

1.4.25

8 years ago

1.4.24

8 years ago

1.4.23

8 years ago

1.4.22

8 years ago

1.4.21

8 years ago

1.4.20

8 years ago

1.4.19

8 years ago

1.4.18

8 years ago

1.4.17

8 years ago

1.4.16

8 years ago

1.4.15

8 years ago

1.4.14

8 years ago

1.4.13

8 years ago

1.4.12

8 years ago

1.4.11

8 years ago

1.4.10

8 years ago

1.4.9

8 years ago

1.4.8

8 years ago

1.4.7

8 years ago

1.4.6

8 years ago

1.4.5

8 years ago

1.4.4

8 years ago

1.4.3

8 years ago

1.4.2

8 years ago

1.4.1

8 years ago

1.4.0

8 years ago

1.3.3

8 years ago

1.3.1

8 years ago

1.3.0

8 years ago

1.2.1

8 years ago

1.2.0

8 years ago

1.1.0

8 years ago

1.0.0

8 years ago