Java Gearman client and Netty-based server with multi-backend support (currently memory, Redis and PostgreSQL). More features coming including clustering support
Java JavaScript FreeMarker CSS
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
gearman-client
gearman-common
gearman-embedded-server Version bump Jul 31, 2015
gearman-engine
gearman-example align example with the WorkerDemo Dec 7, 2015
gearman-integration
gearman-server
misc Dashboard cleanup, handle some minor error cases Jul 23, 2015
.gitignore
.ruby-version
.travis.yml
LICENSE
README.md
findbugs-exclude.xml
pom.xml

README.md

Gearman Java Implementation

Build
Status

An implementation of the gearman protocol server, client, and worker in Java. Features include:

  • Pluggable persistent storage mechanism currently supporting:
    • PostgreSQL
    • Redis
    • Memory-only
  • Web-based UI dashboard
  • Metrics using java metrics
  • Multi-threaded server using Netty for high-performance network I/O
  • High-performance - on a single m3.2xlarge EC2 instance with 8 on-box Ruby clients it has achieved over 11,000 jobs per second with in-memory storage

Getting Started

Quick start:

  1. Download the latest pre-built SNAPSHOT release from the Sonatype snapshots repository
  2. Run java -jar gearman-server-VERSION.jar
  3. This will default to port 4730 and memory-only persistence, with snapshotting and the web interface listening on port 8080

If you want to use more advanced features, see the example config.yml files in the gearman-server sub-project

Web Interface

Some of the issues that I've run into in the past have been related to visibility into job queues. To address this, I've added a web management console that lets you see the state of the system. For small installations this is a nice option because it doesn't require you to setup or have any external monitoring systems. Some screenshots here:

Main Dashboard

Web dashboard

All Queues

All Queues

Per-Queue Status

Queue overview

Contributing

Feel free to fork and submit pull requests, or test and submit bug reports.

Author

John Ewart @soysamurai, http://johnewart.net

Contributors

Some tiny portions of this project leverage code from the java-gearman-service project.