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
Switch branches/tags
Nothing to show
Clone or download
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
gearman-integration Version bump Jul 31, 2015
gearman-server
misc
.gitignore
.ruby-version Add a new feature to store exception messages in a custom data store Feb 25, 2015
.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 http://johnewart.net

Contributors

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