npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@moxoff/gnappo

v1.2.2

Published

HTTP API for long running jobs

Downloads

3

Readme

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 ]