GithubHelp home page GithubHelp logo

isabella232 / snips-javascript-actions-runner Goto Github PK

View Code? Open in Web Editor NEW

This project forked from snipsco/snips-javascript-actions-runner

0.0 0.0 0.0 256 KB

A lightweight javascript actions runner. ๐Ÿƒโ€โ™‚๏ธ

License: MIT License

JavaScript 100.00%

snips-javascript-actions-runner's Introduction

snips-actions-runner

A lightweight javascript actions runner.

Purpose

The standard way to run Snips actions is to use the snips-skill-server binary that comes pre-installed with the Snips distribution.

The way the skill-server works is that it runs one process per-action.

It means that a node.js instance is spawned and bindings to the hermes library are created for each action.

This is perfectly fine in mosts cases, but when the number of actions to run is huge or if the environment is memory constrained it can become a problem.

This package is an attempt to mitigate these memory issues by running every javascript action using a single process.

Setup

npm i -g snips-actions-runner

It is recommended to create a daemon to launch the runner automatically, but this is beyond the scope of this file.

Specifications

Root folder

By default the runner will look for actions in the /var/lib/snips/skills folder on Linux, or /usr/local/var/snips/skills on OSX.

For other oses, use the -r option to specify the root folder.

Action

Each subfolder will then be scanned, and will be considered as an action if and only if:

  1. It contains a package.json file.
  2. The package.json file has a dependencies or devDependencies field that contains the snips-toolkit package.
  3. The package.json file has a main field.

The file linked with the main field is then launched using a global snips-toolkit package (in the same fashion as the run command).

Usage

snips-runner --help

Configuration file

In order to pass custom hermes options, you can use the -c flag to specify the path to a configuration file.

For instance, if you are using an mqtt broker running on a different machine:

{
    "hermesOptions": {
        "address": "machineAddress:1883"
    }
}

snips-javascript-actions-runner's People

Contributors

elbywan avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.