1.2.2 • Published 2 years ago

@moxoff/gnappo v1.2.2

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

Gnappo

HTTP API to manage long running jobs

Usage

There's no need to install this module or to clone the repository.

You can simply run:

npx @moxoff/gnappo --run PATH_TO_YOUR_EXECUTABLE --mongodb-url mongodb://HOST:PORT/DB

When a job is submitted the executable will be called with two positional arguments:

  • the path where it can find the input json
  • the path where it needs to save the output json (if any)

Note: If you enable authentication in mongodb by using the official docker image and the env variables MONGO_INITDB_ROOT_USERNAME, MONGO_INITDB_ROOT_PASSWORD and MONGO_INITDB_DATABASE, you can need to use the authSource option in the mongo url:

npx @moxoff/gnappo \
    --run PATH_TO_YOUR_EXECUTABLE \
    --mongodb-url mongodb://MONGO_INITDB_ROOT_USERNAME:MONGO_INITDB_ROOT_PASSWORD@HOST:PORT/MONGO_INITDB_DATABASE?authSource=admin

this is because MONGO_INITDB_ROOT_USERNAME is created in the admin database and not in MONGO_INITDB_DATABASE.

Options

Full list of command line options:

      --help                      Show help                            [boolean]
      --version                   Show version number                  [boolean]
  -i, --ip                        The ip where to to bind the server sending
                                  messages                  [default: "0.0.0.0"]
  -p, --port                      The port where to bind the server sending
                                  messages                     [default: "7000"]
      --mongodb-url, --mongodb    URL of mongodb
                                   [default: "mongodb://localhost:27017/gnappo"]
      --run, --executable         Executable to be runned when a job it's
                                  submitted.It will receive the paths of the
                                  input and output jsons as arguments
      --workdir, --cwd            Working directory used to spawn the process.
                                  Defaults to the same direcotry containing the
                                  input file                     [default: null]
  -n, --max-running-jobs          Max number of jobs running at the same time.
                                  Other jobs will be queued[number] [default: 1]
      --cors                      Enable CORS         [boolean] [default: false]
      --logging-level, --logging  Logging verbosity
       [choices: "error", "warn", "info", "verbose", "debug", "silly"] [default:
                                                                         "info"]

API

Gnappo exposes an HTTP API to submit, retrieve and manage jobs. Refer to the full API docs.

Contributing

To release a new version use npm version [ major | minor | patch ]

1.2.2

2 years ago

1.2.1

2 years ago

1.1.1

3 years ago

1.1.0

4 years ago

1.0.0

5 years ago

0.0.10

5 years ago

0.0.9

5 years ago

0.0.7

5 years ago

0.0.6

5 years ago

0.0.5

5 years ago