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 🙏

© 2026 – Pkg Stats / Ryan Hefner

node-red-contrib-gearman

v1.0.6

Published

A Node-RED node for submitting and monitoring Gearman jobs.

Readme

node-red-contrib-gearman

A Node-RED node for submitting jobs to a Gearman job server and receiving results or progress updates.


Overview

This custom node lets you integrate Node-RED flows with a Gearman job server.
You can:

  • Submit jobs to Gearman workers
  • Receive results when jobs complete
  • Receive progress updates from workers
  • Monitor job status directly in Node-RED

Installation

From within your Node-RED user directory (usually ~/.node-red):

npm install node-red-contrib-gearman

Or add it to your package.json dependencies and restart Node-RED.

If you’re using Docker:

# Build a Node-RED image with this node included
docker build -t my-nodered-gearman . docker run -it -p 1880:1880 my-nodered-gearman

Node Configuration

Connection

| Field | Description | Default | | -------- | ------------------------------------ | ----------- | | Host | Hostname or IP of the Gearman server | localhost | | Port | Port number | 4730 |

Job

| Field | Description | | ----------------- | --------------------------------------------------------------------------------------------- | | Job Function Name | Name of the Gearman job to execute | | Wait for Result | If checked, the node waits for the worker to return a result; otherwise submits in background | | Payload | Whatever is in msg.payload will be sent as job data (JSON serialized automatically) |

Usage Examples

1. Send a simple object

Inject Node Payload:

{
    "task": "resize",
    "width": 400,
    "height": 300
}

Gearman Node:

  • Job = resize_image
  • Wait for Result = checked

Worker receives:

{"task":"resize","width":400,"height":300}

2. Send only part of msg.payload

Use a Function node upstream:

// Only send the 'user' object from payload
msg.job = "generate_report";
msg.payload = msg.payload.user;
return msg;

Gearman receives just:

{"id":123,"name":"Adze"}

3. Dynamic Job & Host

You can override per message:

msg.job = "resize_image";
msg.payload = { url: "https://example.com/a.jpg", width: 400 };
msg.host = "gearmand"; // optional if different host
msg.port = 4730;
return msg;

Outputs

  • Output 0 – Job result (when waitForResult is true)
  • Output 1 – Progress updates from the worker

Status colors:

| Status | Color | Meaning | | ------------------------ | --------- | ------------------------------ | | Connecting / In progress | 🟡 Yellow | Job is being processed | | Connected / Complete | 🟢 Green | Job completed successfully | | Error / Failed | 🔴 Red | Job failed or connection error | | Disconnected | ⚫ Grey | Node disconnected from Gearman |


Local Development with Docker

A sample docker-compose.yml for local testing:

nodered:
    build:
      context: .
      dockerfile: Dockerfile
    container_name: nodered
    ports:
      - "1880:1880"
    environment:
      - TZ=UTC
    depends_on:
      - gearmand
    restart: unless-stopped

Run it:

docker compose up --build

Then open http://localhost:1880 and use your new Gearman node.


Testing

You can test by running a simple Gearman worker:

gearman -w -f echo -- cat

Then send a job with Node-RED using the Gearman node and observe the echo output.


License

MIT © 2025 adri

See LICENSE for details.